计算机毕业论文:J2ME技术开发信息终端

时间:2022-10-08 03:53:00

计算机毕业论文:J2ME技术开发信息终端

摘要:J2ME是SUN公司最新推出的面向嵌入式产品的JAVA,目前市场上刚刚推出采用J2ME工具开发的手机和PDA产品,本文介绍了J2ME的特点和技术,分析了J2ME将来的应用以及当前J2ME开发未来信息终端的技术。

关键词:JAVA;虚拟机;J2ME;信息终端

1引言

Java语言是由美国SUN公司在1995年设计的,原是为机顶盒这种嵌入式系统设计的,但并没有在嵌入式领域得到发展,随着Internet的普及JAVA占领了PC端和Server端,现在Java又回到了嵌入式领域。为了和PC端、Server端的Java相区别,用于嵌入式系统的Java被称为Java2MicroEdition,简称J2ME。

以嵌入式产品的典型——手机来说,我们可以看到,手机软件经历了三个阶段,最早只有基本的语音通话服务,其后手机上增加了电话本、短消息和游戏等简单的应用功能,去年又增加了通过WAP方式访问Internet的功能。

现在手机厂商还存在两个普遍的问题:一个是缺乏开放的编程平台,另一个是只能通过WAP方式访问Internet,没有其他方式实现。

通过应用J2ME技术开发手机的应用软件,我们就可以解决这两个问题:

首先,Java语言是跨平台运行的,软件开发商可以很容易地开发应用程序,也可以方便地安装到手机中;

其次,J2ME提供了HTTP、TCP等高级Internet协议,Java程序可以自由的访问Internet。

2J2ME结构分析

图1J2ME应用示意图

Java内部分三层,从下到上分别是VM(虚拟机)、Configration(配置层)和Profile(框架层)。

VM负责建立Java虚拟机,解释Java字节码;Configration建立了核心类库,功能少(比如没有UI),主要面向水平市场;Profile建立了高级类库,功能丰富,面向垂直市场。

针对手机内存少、速度慢和IO差的特点,J2ME针对VM、Configration和Profile3层做了特殊的实现:

在虚拟机层,在手机上移植KVM,只需要几百K内存就可以运行;

在配置层,J2ME规定了连接有限设备配置(Connected,LimitedDeviceConfigration),简称CLDC。它适用于有双向网络连接,但是硬件资源有限的设备;

在框架层,J2ME规定了移动信息设备框架(MobileInformationDeviceProfile),简称MIDP。它适用于手机或双向寻呼机。

3J2ME与WAP的关系

图2WAP与手机(J2ME)的关系

J2ME与WAP并没有直接竞争关系,而是共存互助。

WAP包括2层内容:一层是无线Internet传输层,针对无线的特点制定了WDP、WTP等等协议;另一层是应用层,也就是WAPBrowser,WAP为了适应低速网络的限制,简化了Internet标准的HTML,制定了WML标准。

那么J2ME在传输层和应用层又是什么呢?在传输层,J2ME提供了一组面向应用程序的高层协议,包括HTTP和TCP(或UDP等),实际的传输可以基于WAP实现,也可以基于其他方式(比如CSD或GPRS等)。在应用层,J2ME提供了全功能的Java开发环境,可以用Client/Server方式来访问Internet上的所有数据。如果需要的话,软件开发商甚至可以开发出HTMLBrowser。

所以J2ME与WAP并没有竞争关系,而是面向不同领域的两套解决方案。如果是面向浏览的应用,比如新闻、天气预报等,可以继续使用WAP方案;如果是需要智能处理的应用,比如email、股票等,就更适合用J2ME实现。

4J2ME中虚拟机KVM

KVM是Java虚拟机;是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。引入Java语言虚拟机后Java语言在不同平台上运行时不需要重新编译。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。

KVM由五部分组成:一组指令集、一组寄存器、一个栈、一个无用单元收集堆(Garbage-collected-heap)、一个方法区域。这五部分是Java虚拟机的逻辑成份,不依赖任何实现技术或组织方式,但它们的功能必须在真实机器上以某种方式实现。

5J2ME未来应用

Motorola是J2ME的主要支持者,第一个在手机上移植了KVM,又领导全球手机厂家制定了MIDP规范。日本已经将J2ME开发的手机投入到商业应用,主要是游戏、聊天、证券等交互信息应用领域。

成都华好网景公司最近推出采用J2ME开发的手机地图浏览器,首家实现以J2MEMIDP方式支持Java手机,在OkMap地图服务器的支持下,可对多个城市进行地图浏览、单位查找、街道查找、按类型进行最近目标查找、公交换乘咨询、两点间距离估算等操作。

北京科银京成公司与SUN公司合作推出了基于他们自己开发的操作系统平台的JAVA虚拟机,并可以实现面向手机和PDA的应用。

美国硅谷一些公司也在国内成立了分公司,专门推广JAVA在手机和PDA等终端产品上的应用。

目前在手机市场上已经出现的应用JAVA的产品有:

(1)2001年4月,美国Nextel通信公司宣布推出两款由摩托罗拉公司生产的JAVA手机,i85s售价为200美元,i50sx售价为150美元。这是美国市场上首先推出的JAVA手机。同时支持WAP功能;

(2)2001年6月底,摩托罗拉公司推出天拓A6288,支持J2ME开发程序;

(3)日本J-Phone公司从2001年7月中旬开始上市两种内置对应“Java”应用软件和3D的数码相机的手机;

(4)西门子公司2001年6月推出一款6688I的手机是世界上首部KJAVA手机,可以下载任何用KJAVA计算机语言编写的应用程序,包括各种游戏软件;

我们预计在未来的两至五年内,大多数新的信息设备将与Internet连接,这将导致用户使用这些设备的方式产生根本性的变化。用户无论何时、何地和使用何种设备均可方便地传递网页内容、企业数据和个人数据。

这些新信息设备上网的一个显著后果是比现今的设备更加趋向于可自定制化和个人化。过去的设备有与硬件相关的程序代码。与此不同,现在新的信息设备将允许用户从Internet下载新的服务和应用程序来定制设备。

现在已经有一些无线设备厂商正在制造新的蜂窝手机,可使用户下载诸如交互游戏、网上银行、订票系统和无线协作等等的应用程序。

6J2ME开发信息终端技术

目前,信息终端的产品代表就是手机和PDA,但是他们的功能都很有限,随着J2ME的发展,未来的信息终端功能可以无限拓展。

按照J2ME的层次结构,我们分析采用J2ME开发信息终端的技术。

?J2ME中KVM软件平台的开发;

目前,有很多信息终端产品开发商都开发了适用于自己产品的KVM软件平台,也有一些软件供应商采用开放的技术开发面向各类嵌入式产品的KVM平台,结合具体的信息终端再进行二次开发,完成针对具体产品的KVM。

关于KVM软件平台的开发,我们认为需要注意两个问题:

首先,为了支持用户和信息终端提出的灵活性的和可定制性的要求,KVM应用平台必须设计成模块化和可缩放化。

其次,随着设备制造商开发新的设备家族,KVM软件平台技术应该提供范围广泛的框架层、配置层和虚拟机,它们针对适应不同的应用程序、不同的需求、不同的内存,进行过最优化处理。

关于对Internet的访问,在使用KVM应用平台后可以解决:

(1)浏览器方式访问Internet的功能有限;

(2)不能直接访问Internet,需要Gateway过滤;

(3)只显示WML,不能显示复杂格式图形;

(4)在线交易增加服务器负荷,速度慢;

(5)不能访问本地存储区;

?J2ME配置层的应用

在配置层,J2ME规定了连接有限设备配置CLDC,它适用于有双向网络连接,但是硬件资源有限的设备;该层软件的开发主要实现硬件设备的标准配置,随着设备的不同实现不同的配置。

这一层对于用户可见度要低一些,但对框架层非常重要。它针对“水平”市场的需求,定义了Java虚拟机的最小功能集和Java类库的最小集合。在某种意义上,配置层定义了开发者在所有设备上都可以使用的Java特性和类库的“最小公分母”。

?在框架层按照MIDP规范开发的各种API;

框架层针对不同的设备,在配置层的基础上规定了附加的API。为了满足不断更新的令人兴奋的应用程序,框架层可以扩充新的Java库类。

?面向具体信息终端的应用程序;

具有J2ME的KVM、配置层和框架层后的信息终端,可以实现各种功能的应用程序,目前已经实现的功能包括交互性游戏、聊天、电子邮件、证券交易等;根据我们的分析,未来的信息终端将会根据市场的需要具备客户自由定制、功能专用、信息多样等特点。

7结束语

J2ME是专门面向嵌入式并且对资源要求较少的产品的开发工具,尤其适合在无线通信产品上网络应用软件的开发。相信随着无线网络速率的提高,J2ME工具的应用和产品开发将进入一个高速发展的时期。

参考文献

[1]王克宏,等。Java嵌入技术[M].北京:清华大学出版社,1998.

[2]SUNMicrosystems。KVM白皮书[EB/OL]/docs/kvm/kvmwp_o_contents.htm,2000-5-19.

[3]孙立,等。J2ME开发循序渐进[EB/OL]/docs/whatIsKjava-CN/frame.htm,9Nov.2000.

[4]段明辉,等。Java嵌入技术的现状及应用前景[EB/OL]/developerWorks/java/java_embeded/index.shtml,,2000年12月23日.

[5]ToddSundsted。J2MEgrowsup[EB/OL]/developerWorks/java/j-j2me/index_eng.shtml,,2001年5月.