欢迎来到论文网! 识人者智,自知者明,通过生日认识自己! 生日公历:
网站地图 | Tags标签 | RSS
论文网 论文网8200余万篇毕业论文、各种论文格式和论文范文以及9千多种期刊杂志的论文征稿及论文投稿信息,是论文写作、论文投稿和论文发表的论文参考网站,也是科研人员论文检测和发表论文的理想平台。lunwenf@yeah.net。
您当前的位置:首页 > 毕业论文 > 计算机毕业论文

基于J2ME的手机短信功能实现_短信收发

时间:2011-07-15  作者:秩名

论文导读::J2ME 是定位于消费性电子产品的应用,对设备的智能化、多样化,提供了革命性的解决方案,并具有“Write Once, run anywhere”的Java特性。本文主要讨论了J2ME技术和SMS无线消息工作原理,并利用J2ME的模拟器实现短信的收发功能。
论文关键词:J2ME,SMS,短信收发
 

1 引言

无线通信技术的飞速发展, 使得手机等移动设备的拥有量早已超过PC机, 随着3G 时代的逐步到来, 集办公、娱乐、通讯等多功能于一体的智能化手机自然成为各移动设备开发商的开发热点。目前典型手机软件平台架构主要有Windows Mobile、Symbian、Linux、BREW、J2ME等。[1]J2ME 技术主要是用以满足消费性电子产品和嵌入式设备的需要。它是为了那些适用有限的资源和网络连接( 通常是无线连接) 以及有限图形用户界面能力的设备开发的。J2ME拥有Java语言所具备的各种特点,可移植性,一致性,且利用J2ME技术编写的应用程序可以升级短信收发,可扩展至个人电脑,服务器。J2ME提供了对Internet协议的支持,通过C/S模式访问Internet全部信息论文开题报告范例。J2ME的策略为手机赋予了本地计算能力,强化和扩展了运营商的服务。对设备的智能化、多样化,提供了革命性的解决方案,并因其“WriteOnce, run anywhere”的Java特性而提高开发的效率。

2 J2ME的无线消息开发原理

移动电话和双向传呼机具有在任何时候和任何地方与外界进行通信的方法。这些移动通信设备和外界的联系能力是它们与其它设备不同的突出地方。在未来的通信时代中,需要大量地在这些设备上开发应用程序来满足无线移动通信的需要。SUN公司的J2ME为移动信息设备上的应用程序开发提供了一个完整的开发环境。在J2ME中,CLDC为普通的移动设备定义了一个通用的“配置”。在CLDC的基础上短信收发,针对移动电话和双向传呼机这样的设备定义了移动信息设备框架(MIDP)。生产无线设备的厂商只要在他们的设备上实现对CLDC和MIDP的支持,就可以在他们生产的设备上使用J2ME来进行无线应用的开发。

消息传递是移动电话的一个重要特性,短消息服务SMS凭借低廉的价格,从引入至今一直受广大用户的青睐。SMS属于一对一传递方式。当手机用户发送短信时,消息先发送到SMSC,SMSC向HLR发查询请求,查询目标设备的漫游位置论文开题报告范例。HLR向SMSC报告移动设备的当前漫游位置和活动状态。如果目标设备处于非活动状态,SMSC会保留短信一段时间短信收发,等到用户重新进入获得状态时,HLR会再次通知SMSC。当目标设备处于活动状态时,SMSC通过消息发送系统呼叫目标设备,如果设备正常应答,发送系统就把短信发送到目标设备。SMSC从目标设备接收到短信已收到的确认信息,至此短信发送完成。[2]

在J2ME平台下,WMA是以可选包(JSR 205)的方式提供的。主要用来进行无线消息的传递,WMA的消息传递基于通用连接框架短信收发,封装了传输层的实现细节,只要完成创建消息、发送消息和接收信息的工作即可。[3]

3 短信收发功能实现

3.1短信的接收

为了实现短信的接收功能,在MIDP的子类中定义了一个后台线程。该线程的作用是在不影响主线程工作的情况下,监听50000端口是否收到短信。如果收到短信,立即中断主线程所显示的页面,弹出一个对话框。告诉用户收到一个短信,当用户单击确定后,可以显示出短信的内容。

首先短信收发,不管是发送短信还是接收短信,都要先建立连接。下面的一段代码的作用是打开一个文本短信的连接论文开题报告范例。

//打开文本短消息连接

try

{

smsconn =(MessageConnection) Connector.open(smsConnection);

smsconn.setMessageListener(this);

}

catch (IOExceptionioe)

{

ioe.printStackTrace();

}

其中smsconn.setMessageListener(this);表示设置了一个短信监听器。当它监听到手机收到一个短信后,就启动一个后台线程。其具体实现的代码如下所示:

//实现对文本短消息监听的接口

public voidnotifyIncomingMessage(MessageConnection conn)

{

if (thread == null)

{

done = false;

thread = new Thread(this);

thread.start();

}

}

3.2短信的发送

在发送短信的代码中,定义了两个类:一个是SMSSend类、另一个是SMSSender类。其中SMSSend类的功能是显示输入短信的内容以及和SMSSender类建立连接,SMSSender类用于建立手机同网络的连接。

部分源代码如下。

//实现SMSSend的代码

public SMSSend(Display display,Writeparent) {

this.display=display;

smsPort = '50000';

this.parent=parent;

messageBox= new TextBox('请输入短信', null, 65535,TextField.ANY);

messageBox.addCommand(exitCommand);

……

}

public voidcommandAction(Command c, Displayable s) {

……

}

//实现SMSSender的代码

public SMSSender(String smsPort,Displaydisplay,Displayable backScreen) {

this.smsPort = smsPort;

this.display = display;

this.backScreen = backScreen;

errorMessageAlert= new Alert('SMS', null, null, AlertType.ERROR);

errorMessageAlert.setTimeout(5000);

……

}

private void promptAndSend();//显示输入电话号码对话框

private static booleanisValidPhoneNumber(String number); //检查输入的电话号码

public void run( ){

String address = destinationAddress + ':' + smsPort;

MessageConnection smsconn = null;

……

}

4 结束语

由于手机设备平台的多样性,手机间移植成了一大难题,由于Java 具有跨平台的优点,因此选择了专为手机或PDA 等设计的J2ME 语言进行开发。本文在介绍了J2ME无线消息处理的基本原理和WMA技术的基础上,具体论述了利用WMA技术实现SMS短信的收发功能。


参考文献
[1]和凌志,郭世平.手机软件平台架构解析[M].北京:电子工业出版社,2009:47
[2]卢军,岳希,等.J2ME移动软件程序设计[M].北京:中国水利水电出版社,2010:263-264.
[3]汪永松.J2ME手机高级编程[M].北京:机械工业出版社,2009:55-58.
 

 

查看相关论文专题
加入收藏  打印本文
上一篇论文:均线形态组合在股票分析中的应用_走势
下一篇论文:基于JSP的企业办公辅助系统的设计_OA
毕业论文分类
行政管理毕业论文 工商管理毕业论文
护理毕业论文 会计毕业论文
会计专业毕业论文 英语专业毕业论文
大学毕业论文 硕士毕业论文
计算机毕业论文 市场营销毕业论文
物流管理毕业论文 法学毕业论文
相关计算机毕业论文
    无相关信息
最新计算机毕业论文
读者推荐的计算机毕业论文