基于J2ME技术的手机应用软件开发技术.doc_第1页
基于J2ME技术的手机应用软件开发技术.doc_第2页
基于J2ME技术的手机应用软件开发技术.doc_第3页
基于J2ME技术的手机应用软件开发技术.doc_第4页
基于J2ME技术的手机应用软件开发技术.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于J2ME技术的手机应用软件开发技术摘要本文主要就少了手机编程的发展及有关开发的技术,重点阐述了J2ME技术的特点、整体架构、开发过程及J2MEWirelessToolkit开发工具包。关键词手机、J2ME、MIDP、J2MEWirelessToolkit一、引言随着通讯技术的发展,手机越来越普及,现在的手机的数量已经远远的超过电脑的用户量,同时用户不再满足厂商固化在手机内的几个程序的功能,希望手机成为一个移动通信的终端,能下载程序并运行,实现各种只有在PC机上才能实现的功能。手机游戏产业在全球已经占有很大的市场,随着无线互联网时代的来临,开发手机中的应用程序已成为一种时尚,市场潜力十分巨大。二、常见的手机应用软件开发技术开发手机软件的技术有多种,常见的有以下几种:(1)WAP论坛创立的WAP(WirelessApplicationProtocol)技术。(2)日本NTTDoCoMo公司1999年2月推出的IMode技术。(3)韩国市场使用较广GVM技术。(4)北美的Qualcomm(高通)公司和中国联通共同推出的BREW(BinaryRuntlmeEnvironlnentforWireless)技术。(5)SUN公司推出了J2ME(Java2PlatformMicroEdition,Java2微型版)技术。其中J2ME一经推出。得到了越来越多的厂商、开发人员和用户的支持,正迅速成为最为流行的手机应用软件开发技术。J2ME开发平台与其他技术相比,具有以下特点:(1)平台无关性。利用Java的“writeonce,runanywhere”特性,我们可以真正达到程序只要写一次,拿到任何平台上都可以执行(当然前提是必须要该手机厂商提供符合规格的JavaVirtualMachine才行)。(2)面向对象的编程技术。支持面向对象的编程技术,提供丰富的类库,在CLDC/MIDP中提供了与网络相关API函数。(3)安全性。Java语言在原始设计上就将安全性的因考虑进去,由于Java语言不支持指针的使用,在Java程序内访问某一块内存的数据,不会因为下载了一个错误的Java应用程序而对设备或网络造成危害。(4)动态下载应用程序。手机与其他移动通讯设备拥有无线通讯能力。Java应用程序可随时通过无线网络下载。(5)离线获取。不用激活网络链接,应用就可以被使用。降低了传输费用,减轻了可能的网络故障带来的影响。(6)庞大的开发者队伍。据估计在全球有超过250万的Java软件开发者。Java也正快速地变成学院和大学里用教学的最流行的编程语言。三、J2ME技术架构当JAVA演化到JAVA2时,为了满足市场对灵活性和个性的需求,SUN公司将JAVA技术发展为四个版本:针对开发企业服务应用J2EE(Java2EnterpriseEdition)、针对普通PC应用的J2SE(Java2standardEdition)、针对嵌入式设备及消费类电子产品的J2ME(Java2MicroEdition)和针对智能卡开发的SmartCard。J2ME采用了模块化的结构,底层是宿主机的操作系统,内部则分为3层:(1)Java虚拟机(JVM)层。专门针对特定设备的嵌入式操作系统定制的,并支持特定的J2MEconfiguration。J2ME支持的Java虚拟机有两种:JVM和KVM。JV包含了基于台式机系统上的虚拟机的所有功能,适用于拥有至少几兆字节内存的设备,如PDA、机顶盒等;而KVM(kilobytevirtualmachine)专用于内存小、资源有限、能上网的设备如手机等。(2)Configuration(配置层)。J2ME现将所有的嵌入式设备大体分为两种:一种是运算功能有限且电力供应也有限的嵌入式设备(如PDA和手机)。另一种是运算能力相对较佳且电力供应比较充足的嵌入式设备(如网络家电)。Java引入了一个configuration的概念。把上述第一种定义为有限连接设备配置段DLDC(ConnectedLimitedDeviceconfiguration)。第二种定义为连接设备配置CDC(ConnectedDeviceConfiguration)。配置层定义了Java虚拟机的最小功能集和Java类库的最小集合,是profile层基础。(3)Profile层(应用模型层)。区分出两种主要的Configuration之后,为了要更明确地区分出各种嵌入式装置上Java程序该如何开发以及它们应该具有哪些功能,J2ME接着又定义了Profile的概念。Profile是架构在Configuration之上的规格。这一层是对用户和程序员可见的,它针对不同设备类型(如手机类、机顶盒类),定义了不同种类的Java类库和API(应用程序接口)。任何一种profile都是在特定的configuration层基础上实现的,扩充了附加的JVM功能集与类库。目前在CLD上只定义了一种profile即MIDP(mobileinformationdeviceprofile)。J2ME的系统架构如图1所示。图1J2ME的体系结构四、MIDP模型MIDP是JavaCommunityProcess(JCP)定义的,是独立于设备供应商的一个标准。包括下列软件包:(1)java.lang;java编程语言基本类;(2)java.io;系统输入与输出;(3)java.util;集合、日期和时间支持,各种实用工具类;(4)java.microedition.lcdui;用户界面工具包;(5)java.microedition.io;支持HTTP协议;(6)java.microedition.midlet;MIDlet和其环境之间的界面;(7)java.microedition.rms;固定记录存储。前面三个是核心CLDC软件包,另加四个特定于MIDP的软件包。前面三个软件包属于J2SE软件包的子集,包含一些基本的类来提供诸如字符串处理、I/0操作和网络通信等功能;后面四个软件包提供了针对MIDP的扩充。需要注意一点,MIDP不支持浮点数的运算。MIDletsuite是MIDP应用程序的最小单位,每一个MIDlet都继承自MIDlet抽象类,MIDlet类是提供了运行时环境(应用程序管理器)和MIDlet应用程序之间的接口。MIDlet类提供用于调用、暂停、重新启动和停止MIDlet应用程序的API,运行时环境通过传送相关事件来改变应用程序状态,MIDlet应用程序的生命周期如图2所示。图2MIDlet的状态转换五、J2ME应用程序开发步骤J2ME手机应用程序开发的流程大致可分七步:(1)撰写源程序(Java)代码。利用文本编辑器编写好源代码,并以扩展名为Java的文件保存。下面是一个简单的MIDP应用程序例子,运行该程序可以会在MIDP设备的显示屏上显示“Helloworld!和Exit按钮,按下该按钮会终止应用程序。源代码件HelloWorldjava的内容如下:importjavax.microedition.midlet.MIDlet;importjavax.microedition.lcdui.*;publicclassHelloWorldextendsMIDletimplementsCommandListenerprivateFormform;publicHelloWorld()/Createanewformonwhichtodisplayourtextform=newForm(“TestApp”);/Addthetext”HelloWorld!”totheformform.append(“HelloWorld!”);/Addacommandbuttonlabeled”Exit”form.addCommand(newCommand(“Exit”.Command.EXIT,1);/RegisterthisobjectasacommandListenerform.setCommandListener(this);publicvoidstartApp()/Getareferencetothedisplay,andshowtheformDisplaydisplay=Display.getDisplay(this);display.setCurrent(form);publicvoidpauseApp()publicvoiddestroyApp(booleanunconditional)form=null;publicvoidcommandAction(Commandc,Displayabled)/DestroythisMIDletdestroyApp(true);/NotifytheapplicationmanagementsoftwarethatthisMIDlet/hasenteredthedestroyedstatenotifyDestroyed();(2)编译程序。把写好的Java程序代码利用SDK所供的javac编译工具将程序代码编译成字节码。(3)预先审核(Preverify)。这是Java程序中一个非常要的安全防护措施,Java虚拟机中提供了一个称为类文件审核的机制,这个机制是要确保所有下载的Java类文件是正确的,不会进行有安全顾虑的行为。(4)撰写描述文件。MIDP应用程序的描述文件也可以称为JAD文件,以jad为扩展名。JAD内字段有些是选性的,有些则是在下载或执行过程中,JAM(JavaApplationManager)一定会检查的字段,一定要填入JAD内。在JAD文件内必须包含如下字段:MIDlet-Name,MIDlet-Version,MIDlet-Vendor,MIDlet-,Microedition-Pro6le,Microedition-Configuration。(5)合成JAR文件。MIDletsuite(JAR文件)是JAM执行MIDP应用程序的最小单位,还需要MIDlet会用到其他类型的文件(如影像文件或文本文件等)一起合成同一个JAR文件。合成JAR文件还可以减少程序的大小,以减少网络传输时间。(6)测试和调试。接下来利用MIDlet参考实现所附的MIDP仿真器测试完成的MIDlet。(7)实体机器上执行。将程序下载到实体机器上执行,以测试其针对具体机器的运行效率。六、J2MEWirelessToolkit开发工具61常见的J2ME开发工具用于手机的J2ME应用程序,一般都要在PC上进行开发。为了方便开发人员进行开发和测试,各开发平台提供商和移动设备厂商均提供了一些在PC机下开发手机应用程序的开发工具和模拟器。SUN发布的官方版MIDlet开发工具J2MEWirelessToolkit、Bodand公司发布的与JBullder集成的MobileSet以及Motorola公司提供的MotoJ2SDK,这些工具提供了J2ME的开发环境,并能够对开发结果进行模拟,方便了开发人员在将应用程序上载到手机上以前对其进行充分测试和调试。62J2MEWirelessToolkit的开发环境的配置要安装J2MEWirelessToolkit之前,一定要先安装Java2SDKl.3以上的版本。如果计算机上没有安装Java2SDK的话,J2MEWirelessToolkit即使安装完成,也无发进行MIDlet的开发工作。63J2MEWirelessToolkit开发手机程序下面以建立显示“Helloworld”简单程序为例,讲解J2MEWirelessToolkit的应用步骤:(1)创建工程运行J2MEWirelessToolkit的KToolbar,选择“NewProject”工具按钮,在其中填人项目名和MIDlet类名,点击“CreateProject”,进入属性对话框设置属性,即可在Toolkit的s目录下建立一个名为“Hello”的目录,内含bin,res,sec,lib四个目录。(2)编码将上文中的Helloworldjava拷贝到上述的src目录中(与MIDlet类名相同)。可以任意文本编辑器进行代码编辑。(3)编译合成按下工具按钮“Build”,KToolbar就会自动完成从编译、预先审核到合成JAR档的所有工作。产生的.Class文档将存放在项目目录中的ctasses目录中。(4)测试和调试按下工具按钮“Run”就可以启动仿真器运行测试应用程序了。(5)打包选择菜单“Project/Package/CreatePackage”,即可该项目进行打包,并将打包生成的Jar文件存放于bin目录中。七、总结由于J2ME的跨平台性,各移动设备厂商都纷纷推出JAVA手机,支持JAVA编程。这将更加推动移动设备上的软件开发,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论