已阅读5页,还剩52页未读, 继续免费阅读
(通信与信息系统专业论文)基于j2me的移动通信技术的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
哈尔滨理t 人学1 = 学硕f :学位论文 基于j 2 m e 的移动通信技术的研究 摘要 随着信息化的不断发展,手机及其它移动无线设备上网势在必行。传统 的手机软件存在诸多弊端。首先,这些设备普遍使用c 语言和专用的实时 操作系统,开发速度慢,也没有动态加载应用程序的能力。一方面,商品制 造商的研发能力无法满足用户不断增加的功能需要,另一方面广大的软件开 发制造商却又无法参与到其中来。这样导致应用程序的开发变得越来越困 难,极大的制约了这类设备新应用的推广和普及,而且现有的解决方案不够 智能,使无线i n t e m e t 应用受到了很大的限制。其次,移动电话类嵌入系统 访问i n t e m e t 主要通过w a p 方式,只能访问本地存储区,这样使无线i n t e r - n e t 应用受到了很大的限制。j 2 m e 的出现对以上问题提供了完美的解决方 案。本文对移动设备所涉及的大量技术问题进行了深入的研究和说明,使用 m i d p 赋予的强大开发工具包并结合大量实例,重点阐述了相关技术的实 现。 论文首先详细阐述了开发移动应用软件的基础理论j 2 m e 的主要功能和 体系结构,重点在于k v m 虚拟机,m i d p 简表等规范的描述。其次,根据 论文的设计目标,结合移动通信数据的传输协议,给出了移动终端交互系统 总体设计。完成了移动设备所涉及的事件处理,数据存储等软件流程。实现 了移动终端交互系统。 针对大量j s p 网站存在的现状,结合移动通信技术,实现了移动通信 设备与网络服务器的通信,突破了移动电话访问i n t e m e t 主要通过w a p 方 式,只能访问本地存储区所受到了的限制,可以实现对非本地存储区的访 问。另外由于技术和商业利益的原因,大多数手机上网的用户只能进行简单 的查询功能,无法对数据直接操作,使很多开发者错误的认为手机用户只能 完成简单的查询功能而不能对一些不敏感信息进行修改,本文设计的系统可 以在j 2 m e 的框架内使用h t t p 对网络数据库直接操作。 本文主要着眼于m i d p 和m i d l e t ,实现移动设备与网络服务器的通 信,为进一步研究移动设备与网络更紧密的结合。 关键词j 2 m e ;m i d p :数据存储;移动通信 哈尔滨理t 大学t 学硕: 学位论文 r e s e a r c ho fm o b i l ec o m m u n i c a t i o nt e c h n o l o g y b a s e do nj 2 m e a b s t r a c t w i t ht h ed e v e l o p m e n to fi n f o r m a t i o ns o c i e t y , i ti si m p e r a t i v et h a tm o b i l e t e l e p h o n e sa n do t h e rm o b i l ew i r e l e s sd e v i c e sa r el i n k e dw i t ht h ei n t e r n e t b u t t h e r ea r em a n yd i s a d v a n t a g e si nt h es o f t w a r eo fc o n v e n t i o n a lm o b i l et e l e p h o n e f i r s t ,t h o s ed e v i c e s ,u s i n gcl a n g u a g ea n de x c l u s i v eo p e r a t i o ns y s t e m s ,h a ss l o w d e v e l o p m e n t ,n oa b i l i t yt od y n a m i cl o a d i n ga p p l i c a t i o np r o g r a m m e o n ei s t h a t t h em a n u f a c t u r e r sd e v e l o p m e n ta b i l i t yc a n tm e e tt h ee v e ri n c r e a s i n g l yn e e do f f u n c t i o nf r o mc l i e n t s ,t h eo t h e ri st h a tm a n ym a n u f a c t u r e r so fs o f t w a r ec a l l tjo i n i n t h i sr e s u l t si nt h a tt h ea p p l i c a t i o nd e v e l o p m e n ti sg e t t i n gm o r ea n dm o r e d i f f i c u l t ,w h i c hc o n f i n e st h es p r e a do ft h i sk i n do fd e v i c e t h es o l u t i o ni sn o t i n t e l l i g e n t ,w h i c hl i m i t st h ea p p l i c a t i o no fw i r e l e s si n t e r n e t t h ev i s i to f m o b i l e p h o n ee m b e ds y s t e mt oi n t e r n e t ,m a i n l yb a s e do nw a p , o n l y c a nv i s i tl o c a ls t o r e a r e a ,w h i c hp u t sl i m i to nt h ea p p l i c a t i o no fw i r e l e s si n t e r n e t t h ep r e s e n c eo f j 2 m ep r o v i d e sp e r f e c ts o l u t i o nt ot h ep r o b l e m sm e n t i o n e da b o v e f i r s t l y , t h ef u n d a m e n t a lt h e o r yo fd e v e l o p i n gm o b i l es o f t w a r ei si n t r o d u c e d i n t h i st h a tt h ef u n c t i o na n da r c h i t e c t u r eo fj 2 m e ,k v m ,m i d es e c o n d l y , i t i l l u s t r a t e si m p o r t a n tt e c h n o l o g yp r o b l e m sr e l a t e dm o b i l ed e v i c e s e v e n ts o l u t i o n , d a t as t o r e ,m o b i l ec o m m u n i c a t i o n ,o nt h eb a s i so fp r o b i n gi n t od e s i g ns t r u c t u r e , r e l a t i n gm e t h o d s ,c l a s s e sa n de x a m p l e s a c h i e v e di n t e r a c t i v es y s t e mm o b i l e t e r m i n a l t h i sa r t i c l ec o n c e n t r a t e so nm a n yw e b s i t e sw i t hj s pt e c h n o l o g y , c o m b i n e s w i t hm o b i l ec o m m u n i c a t i o nt e c h n o l o g yt om a k em o b i l ed e v i c ec o m m u n i c a t e w i t hs e r v e r , b r e a k i n gt h r o u g ht h el i m i t a t i o no ft h a tm o b i l ep h o n ev i s i t si n t e r n e t o n l yt h r o u g hw a p , a n dl o c a ls t o r ea r e a o u to ft h er e a s o no ft e c h n o l o g ya n d c o m m e r c i a li n t e r e s t ,m o s to fc e l l p h o n eu s e r sc a n to p e r a t ed i r e c t l yo nd a t ab u tt h e f u n c t i o no fq u e r y m a n yd e v e l o p e r sa r em i s l e db yi d e at h a tc e l l p h o n eu s e r so n l y 哈尔滨理工人学工学硕士学位论文 c a no p e r a t eo ns i m p l ef u n c t i o no fq u e r y , c a n to p e r a t eo nd a t aw h i c hi sn o ts e c r e t t h ed e s i g ni n t h i sa r t i c l ec a no p e r a t ed i r e c t l yo nd a t ai nt h es t r u c t u r eo f j 2 m e b a s e do nh t t p m a k e si tc o m et ot r u e t h i sd i s s e r t a t i o nf o c u s e so nm i d pa n dm i d p i e t r e a l i z e st h ec o m m u n i c a t i o n b e t w e e nm o b i l ed e v i c e sa n dn e t w o r ks e r v e r , a n df u r t h e rs t u d yo nm u c hc l o s e r c o m b i n a t i o no fm o b i l ed e v i c ea n dn e t w o r k k e y w o r d sj 2 m e ,m i d p , d a t as t o r e ,m o b i l ec o m m u n i c a t i o n 哈尔滨理工大学硕士学位论文原创性声明 本人郑重声明:此处所提交的硕士学位论文基于j 2 m e 的移动通信技术 的研究,是本人在导师指导下,在哈尔滨理工大学攻读硕士学位期间独立进行 研究工作所取得的成果。据本人所知,论文中除已注明部分外不包含他人己发 表或撰写过的研究成果。对本文研究工作做出贡献的个人和集体,均已在文中 以明确方式注明。本声明的法律结果将完全由本人承担。 作者签名: 鼽 日期:2 0 0 8年3 月”日 哈尔滨理工大学硕士学位论文使用授权书 基于j 2 m e 的移动通信技术的研究系本人在哈尔滨理工大学攻读硕士 学位期间在导师指导下完成的硕士学位论文。本论文的研究成果归哈尔滨理工 大学所有,本论文的研究内容不得以其它单位的名义发表。本人完全了解哈尔 滨理工大学关于保存、使用学位论文的规定,同意学校保留并向有关部门提交 论文和电子版本,允许论文被查阅和借阅。本人授权哈尔滨理工大学可以采用 影印、缩印或其他复制手段保存论文,可以公布论文的全部或部分内容。 本学位论文属于 保密口,在年解密后适用授权书。 不保密团。 ( 请在以上相应方框内打4 ) 作者签名:蜘 别醛轹殍乡甲 一l 1 日期:2 0 0 8 年3 月1 5 日 日期:2 0 0 8 年3 月1 5 日 哈尔滨理工人学工学硕士学位论文 一1 1 课题背景 第1 章绪论 随着移动手机和智能化移动终端的实现,信息使得越来越多的用户习惯于 移动通信方式,同时也期望能够更加灵活地、不受任何限制地进行通信和接入 到i n t e m e t 网。各运营商、制造商和内容提供商都非常积极地工作,先后推出 了w a p ( w i r e l e s sa p p l i c a t i o np r o t o c 0 1 ) 、b r e w ( b i n a r yr u n t i m ee n v i r o n m e n tf o r w i r e l e s s ) i - m o d e ,m o b i l ei pp h o n e ,b l u e t o o t h ,j 2 m e 等解决方案及相关的产品 i l l 。其中较为成功的是w a p 手机和高通公司的b r e w a p 让用户以不同于桌面 台式计算机的方式,连接到i n t e r n e t 。然而目前通用的利用w a p 协议手机上网 解决方案,通过w a pg a t e w a y ( w a p 网关) 才能访问i n t e m e t ,并且只能访问 w m l ( w i r e l e s sm a r k u pl a n g u a g e ) ,而不是主流的h t m l ,也无法显示复杂的 图形,并且,因为现有的w a p 解决方案不够智能,只能访问本地存储区,这 样使无线i n t e m e t 应用受到了很大的限制【2 1 。j 2 m e 的出现对以上问题提供了完 美的解决方案。j 2 m e 是j a v a 技术根据市场需求相对于企业网应用的j 2 e e 和 普通p c 应用的j 2 s e 进一步细分而产生的一个新版本f 3 j 。因为j a v a 语言是跨平 台运行的,这一特性使第三方软件开发商可以很容易地参与开发应用程序,也 可以很方便地将新开发的应用程序安装移植到这些设备上,这不仅使开发周期 大大缩短,而且还能支持应用程序的动态下载和版本升级 4 1 。使用j 2 m e 技术 开发移动信息处理设备( 主要指智能手机和一部分具有无线通信功能的p d a ) 上 的应用程序,己成为无线i n t e m e t 领域中的一种流行趋势【5 1 。 1 2 国内外发展动态 回顾手机类嵌入式移动设备的发展历史,可以看到移动软件经历了三个阶 段。最早只有基本的语音服务,后来增加了简单的附加应用( 比如电话簿) ,最 近又加入了无线上网访问i n t e m e t 的功能【6 i 。目前,手机类嵌入式系统普遍使 用c 语言和专用的实时操作系统,不仅开发速度慢,而且没有动态加载应用程 序的能力,导致手机上的应用程序开发很困难。一方面,单纯依靠手机厂商自 身的软件开发能力难以满足市场的需求,另一方面广大的软件开发商却又无法 哈尔滨理t 大学t 学硕i j 学位论文 参与进来,开发适用于手机的应用程序,这无疑极大地制约了新应用的推广与 普及。目前通用的手机上网解决方案是利用w a p 协议( w i r e l e s sa p p l i c a t i o n p r o t o c 0 1 ) ,通过w a pg a t e w a y ( w a p 网关) 才能访问i n t e m e t 并且只能访问 w m l ( w i r e l e s sm a r k u pl a n g u a g e ) ,而不是主流的h t m l ( h y p e r t e x tm a r k u p l a n g u a g e ) ,也不能显示复杂的图形格式。此外,w a p 采用的b r o w e r s e r v e r 方 式访问i n t e r n e t ,只能提供有限的功能,并且不能访问非本地存储区,如果进 行在线交易会增加服务器负荷,使服务器的反应速度变慢,这导致了无线 i n t e r n e t 的应用受到了很大限制【7 1 。j 2 m e 的出现则使上述问题迎刃而解【2 1 。首 先,j 2 m e 跨平台运行,软件开发商可以很容易进入,也可以很容易安装在手 机上。其次,j 2 m e 提供了h t t p ,t c p 等高级i n t e m e t 协议,并支持动态下 载,用户可以自由地访问i n t e m e t 。其次,因为j a v a 语言是跨平台运行的,这 一特性使第三方软件开发商可以很容易地介入进来开发应用程序,也可以很方 便地将应用程序安装移植到移动电话上,开发周期也大大缩短,而且还能支持 应用程序的动态下载和升级。j 2 m e 提供了h t t p 高级i n t e m e t 协议,使移动电 话能以c l i e n t s e r v e r 方式直接访问i n t e m e t 的全部信息,不同的c l i e n t 访问不 同的文件,能访问非本地的存储区外,提供最高效率的在线交易t s i 。 1 3j 2 m e 的应用 据介绍,世界上已经有3 0 多个移动通信运营商都推出了基于j a v 扪2 m e 的数据增值业务。日本已经将j 2 m e 开发的手机投入到商业应用,主要是游 戏、聊天、证券等交互信息应用领域。欧洲公司最近推出采用j 2 m e 开发的手 机地图浏览器,实现以j 2 m em i d p 方式支持j a v a 手机,在m a p 地图服务器的 支持下,可对多个城市进行地图浏览、单位查找、街道查找、按类型进行最近 目标查找、公交换乘咨询、两点间距离估算等操作。专家预计在未来几年内, 大多数新的信息设备将与i n t e m e t 连接,这将导致用户使用这些设备的方式产 生根本性的变化【8 】。用户无论何时、何地和使用何种设备均可方便地传递网页 内容、企业数据和个人数据。这些新信息设备上网的一个显著后果是比现今的 设备更加趋向于可自定制化和个人化。过去的设备有与硬件相关的程序代码。 与此不同,现在新的信息设备将允许用户从i n t e m e t 下载新的服务和应用程序 来定制设备。现在已经有一些无线设备厂商正在制造新的蜂窝手机,可使用户 下载诸如交互游戏、网上银行、订票系统和无线协作等等的应用程序【9 1 。 哈尔滨理t 大学t 学硕十:学位论文 1 4 课题的研究内容及组织 本文对基于j 2 m e 的移动通信技术的研究内容及组织安排如下: 1 分析j 2 m e 的框架,研究m i d l e t 程序的结构以及生命周期,以及在移 动设备中对事件的响应方式。 2 针对移动设备( 手机) 中内存有限的特点,研究如何使用记录管理系统实 现数据的永久性保存。 3 由于技术和商业利益的原因大多数在j 2 m e 框架内基于h t t p 的网络 通信使客户处于被动的接受方,在手机中缺乏一个平台对网络资源进行有效访 问。本文设计的移动终端交互系统为手机可以提供了一个类似于p c 浏览器一 样基于j 2 m e 使用h t t p 协议的网络通信平台,结合m i d p 网络技术与j s p , 实现对网站资源的查询,添加,删除以及通过手机对网络信息的浏览,直接对 网络数据库进行操作。 第二章m i d l e t 的开发过程。 第三章m i d p 的网络程序设计方案。 第四章m i d p 的网络程序实现。 哈尔滨理1 = 大学t 学硕斗:学位论文 第2 章m i d l e t 的开发过程 2 1j 2 m e 技术 2 1 1j a v a 应用在移动通信设备上的原因 移动通讯的时代即将来临,通讯相关行业变的前景可期,而除了达成行动 通讯的主要工具手机,其功能越来越强大之外,有更多的厂商相继投入行动通 讯设备的生产与开发,其平台和操作系统的复杂度比起目前混乱的p d a 有过 之而无不及,除了s y m b i a n 针对手机推出e p o c 操作系统之外,微软在手机上 的操作系统s t i n g e r 也马上就要亮相,但是目前市面上的手机多以厂商自开发 的作业系统居多。面对复杂纷乱的平台,对一般使用者没什么影响,但是对于 程序开发者来说,这么多不同的程序发展平台,如果每个平台都有自己的程序 写法以及函数库,那么只是看上面这些平台至少就要学习五种以上程序的写 法。如果写出来的软件可以在不经过修改原始码的情况下就能够在这些平台上 执行,会给程序开发者带来便利。要在那么多平台上开发程序,对程序开发者 来说不是一件容易的事情,如果要把所有的时间和精力放在软件的可用性上, 那么相对地很多时候根本没有那么多时间编写各种平台的程序。要解决这个问 题,一般来说程序设计师会选用一个可以跨平台f r a m e w o r k 来达成至少s o u r c e c o d el e v e l 的跨平台。利用j a v a 的”w r i t eo n c e ,r u na n y w h e r e ”特性,可以真正达 到程序只要写一次,拿到任何平台上都可以执行( 当然前提是必须要该手机厂 商提供符合规格的j a v av i r t u a lm a c h i n e 才行) 。利用j a v a 编写手机上的程序必 然有其缺点,最广为人知的就是执行效率的问题,j a v a 的执行速度一直是开发 者的难题。但随着技术的发达,将会有更快更省电的嵌入系统专用c p u 出 现,将针对j 2 m e 开发专用芯片,让j a v a 在手机上的程序可以跑的更快,因此 效率上的问题其实是可以忽蚪1 0 1 。 2 1 2j a v a 分类 在编写c 程序的时候,会使用c 标准函数库;使用c + + 编写程序的时 候,会使用c + + 标准函数库;而使用j a v a 编写程序的时候,则使用类函数库 哈尔滨理1 = 大学r t 学硕 j 学位论文 1 q 。j a v a 规格中有一组核心类函数库( c o r ec l a s s ,即j a v a 幸) ,在核心类之外还 有扩充类函数库( e x t e n d e dc l a s s ,即j a v a x 宰) 。根据对这两种类所支持的程, s u nm i c r o s y s t e m s 进而区分出四种不同的j a v a 版本j 2 e e ,j 2 s e ,j 2 m e ,s m a r t c a r d 1 j 2 e e ( j a v a2p l a t f o r me n t e r p r i s ee d i t i o n ) :主要用于开发企业服务器端的 应用程序。 2 j 2 s e ( j a v a2p l a t f o r ms t a n d a r de d i t i o n ) :主要用于开发一般台式计算机 应用程序。 3 j 2 m e ( j a v a2p l a t f o r mm i c r oe d i t i o n ) :主要用于开发嵌入式设备,消费 性电器等信息家电应用程序。 4 s m a r tc a r d :主要用于信用卡,考勤系统等。 2 1 3j a v a 程序的开发 各种不同的j a v a 版本,在其支持的核心类函数库的完整性以及所支持的 j a v a 基本型这两件事情上都有所差异。不管开发的是企业所使用的j a v a 程 序、嵌入式设备上执行的j a v a 程序、浏览器上执行的a p p l e t ,或是在p c 上执 行的应用程序,都必须在计算机上先安装j 2 s e ,然后再安装各种版本的核心 类函数库以及额外的扩充类函数库,这样才能成功地开发各种不同目的的j a v a 程序。j 2 s e 所提供的j a v a 编译( j a v a c e x e ) 可以帮助开发人员编译各种不同平 台上的j a v a 程序,而j 2 s e 所提供的j a v a 虚拟机器( j a v a e x e ) 贝j 可以帮助开发人 员在p c 上先行测试这些程序执行结果的正确与否。另外,j a v a 编译器并不会 帮助开发者检查程序是否符合各种平台上所支持的核心类函数库与j a v a 基本 类型。举例来说,虽然s m a r tc a r d 版本并不支b o o l e a n ,b y t e 以外的j a v a 基本类 型,而且该平台也只支持i a v a 1 a n g 木核心类,可是当开发者在编写s m a r tc a r d 平台上的程序时,即便在程序代码里头用了b o o l e a n 或b y t e 以外的j a v a 基本类 型,或者使用了i a v a 1 a n g 幸之外的其它核心类,编译器仍然可以编译出类文 件。针对这个可能发生的潜在问题,如这些程序如果放到s m a r tc a r d 上头执行 的时候,出现问题的处理,是否会造成s m a r tc a r d 上的虚拟机器执行时发生错 误【1 2 j 。所以s u nm i c r o s y s t e m s 在各种不同版本的开发套件中,有些会内附检 查器( h e c k e r ) 或者预先审核器( p r e v e f i f i e r ) ,这两个工具可以帮助开发者在将程序 放到目标平台之前先做好检查和预先审核的工作。检查器会找出类文件之中不 合目标平台规格的部分,并提醒开发者这些地方可能无法在目标平台上执行。 哈尔滨理_ t 人学工学硕十学位论文 因此只要有检查器的协助,大致上可以确定程序可以符合目标平台的规定并顺 利执行。j a v ac a r d 的开发套件中就附有检查器。而某些平台的开发套件则附有 预先审核器,预先审核器除了做检查器做的工作之外,还有一项额外的工作, 就是减轻目标平台上虚拟机器的负担,要解释预先审核器额外的工作,需要比 较传统j a v a 程序和j 2 m e 下的j a v a 程序。 1 在传统的j a v a 程序之中,出于对安全的考虑,任何进入执行环境的类 文件( 不管该类文件是来自本机或是远程机器) ,都必须先经过b y t e c o d e 审核器 ( b y t e c o d ev e r i f i e r ) 的验证,以防止程序在传送途中遭到恶意的修改,而使得 j a v a 程序在执行时对系统有不良影响。经过审核之后,该类文件才能开始被 j a v a 虚拟机器所执行。如果这个审核的动作在一般的p c 上执行,速度很慢但 还能够接受,可是一旦放到如p a l m 或是手机这些c p u 较慢、内存也比较少的 机器上面就显得难以运行。为了节省宝贵的c p u 运算时间( 既能省电又能够加 速程序执行) ,因此,在产生能够让某些特定平台执行的类文件之前,开发人 员必须先在p c 上使用预先审核器做一些前置的审核工作,预先审核器会在类 文件之中加入一些特殊标记或符号。当这些程序放到目标平台上执行时,就可 以大幅减少在目标平台上做审核的时间,从而加速程序的激活及执行速度【5 1 。 2 在j 2 m e 程序中,因为预先审核的关系,执行时b y t e c o d e 审核器的工 作就变少了,因此从程序加载到开始执行之间的时间缩短【”i 。 2 2m i d l e t 的开发 以往手机面临的巨大问题就是应用程序的不足,虽然目前出现了许多手机 和p d a 结合的产品,可是这些产品上的p d a 在软件上的扩充性仍然是有限。 虽然开发者可以任意使用c c + + 或是j a v a 编写可以在p a l mo s ,w i n d o w sc e , e p o c 等操作系统上执行的应用程序,但是却从没机会将已经写好的程序下载 到手机上执行( 即使有些手机的p d a 也是使用e p o c 操作系统,如e r i c s s o n r 3 8 0 ) 。手机平台的多样性与复杂性,和p d a 比较起来十分相似,在手机上执 行的应用程序称做m i d l e t ,m i d l e t 到能够在实体机器或是仿真器上执行需要 七个步骤1 1 4 j : 1 编写程序原始码。 2 编译。 3 预先审核( p r e v e r i f y ) 。 4 编写描述文件。 哈尔滨理t 大学t 学硕_ f 学位论文 5 合成j a r 文件。 6 测试与除错。 7 将程序下载到实体机器上执行,或使用仿真器来执行。 如果只是要单纯在仿真器上测试,可以省略了合成j a r 文件的步骤。这里着 重说明在三预先审核、合成j a r 文件以及编写描述文件这几个步骤: 1 预先审核( p r e v e r i f y ) 编写一个名为m i d v e r b a t 的文件,内容如下: m i d v e r b a t d a m i d p - f c s b i n p r e v e r i f y - c l a s s p a t hd a m i d p - f c s c l a s s e s ;- - - - - d l 2 然后在命令列输入: m i d v e rh e l l o m i d l e t h e l l o m i d l e t 如果预先审核的过程没有发生问题,就会在目录下建立一个名为 h e l l o m i d l e t 的子目录,并将预先审核过的类文件放到此目录下。文件内的第 一个命令列参数( 1 ) ,是为了让p r e v e r i f y 将预先审核的结果放到与命令列参数 同名的目录下。p r e v e r i f y 预设会将预先审核的结果放到o u t p u t 目录下,为了不 造成混淆,利用d 选项改变预设放置预先审核结果的目录。第二个参数则是想 要转换的类文件名称。文件是将预先审核之后的类文件放入与类同名的目录之 中。如果在放入类同名的目录之前完成了预先审核,目录下会出现一个名为 h e l l o m i d l e t 的子目录,这会造成下一次重新编译时产生如下错误讯息: h e l1 0 m i d l e t j a v a 4 :h e l l o m i d l e tc l a s h e sw i t l lp a c k a g eo f s a m en a m e p u b l i cc l a s sh e l l o m i d l e te x t e n d sm i d l e ti m p l e m e n t s c o m m a n d l i s t e n e r 1e r r o r 这是由于编译器发现目录下有一个名为h e l l o m i d l e t 的目录,在j a v a 程序中, 表示有一个名为h e l l o m i d l e t 的p a c k a g e 。编译器不准类名称和p a c k a g e 名称相 同,所以导致编译错误。要解决这个问题,开发者可以在每次编译前先删掉前 一次预先审核所产生的目录即可1 1 5 i 。此时就可以开始测试编写的m i d l e t 。切换 到经过预先审核的类文件的所在目录,然后输入d :i :n i d p f c s b i n h n i d p h e l l o m i d l e t 。如果执行无误,那么仿真器会出现”t e s ts t r i n g ”字样。在此要特别 注意的是,如果m i d p 仿真器执行了没有经过预先审核的类文件,屏幕上会出 现错误讯息:a l e r t :e r r o rv e r i f y i n gc l a s sh e l l o m i d l e t 。 2 编写描述文件编写一个名为h e l l o m i d l e t j a d 的描述文件,内容如 哈尔滨理- t 人学工学硕上学位论文 下: t e s t m i d l e t j a d m i d l e t n a m e :t e s t w o r l d m i d i e t v e r s i o n :1 2 0 m i d l e t v e n d o r :s u nm i c r o s y s t e m s i n c m i d l e t d e s c r i p t i o n :s a m p l et e s t w o r l d m i d l e t m i d l e t i n f o u r l :h t t p :j a v a s u n c o m j 2 m e m i d l e t j a r - u r l :h r p :# 1 2 7 0 0 1 爪s t m i d l e t j a r m i d l e t j a r - s i z e :12 3 4 m i c r o e d i t i o n p r o f i l e :m i d p 1 0 m i c r o e d i t i o n c o n f i g u r a t i o n :c l d c - 1 0 m i d l e t l :t e s t w o r l dt e s t m i d l e t 3 合成j a r 文件编写一个名为m i d j a r b a t 的文件,内容如下: m i d j a r b a t i a r c f m 1 2 c :3 而后可以在命令列输入: m i d j a rt e s t m i d l e t j a rt e s t m i d l e t j a dt e s t m i d l e t 如果过程没有发生问题,就会在目录下建立一个名为t e s t m i d l e t j a r 的文 件。如果发生错误,可能是因为指令下达错误,需要再重新检查。否则在之后 步骤虽然不会发生错误,但是在将来配合网页服务器来执行的时候将会出现错 误1 1 5 】。 2 3 m i d l e t 的执行 2 3 1j a m 概述 说明j a m 之前,需要简单介绍相关的名词。 1 m i d l e t :即一个可以执行的手机应用程序的基本单位。除了继承j a v a x m i c r o e d i t i o n m i d l e t m i d l e t 的类之外以及让此类可以顺利执行的所有其它类和 资源文件所构成的集合,又称做m i d l e t 应用程序( m i d l e t a p p l i c a t i o n ) 。 2 资源文件:m i d l e t 执行时所需要的文件,如图片、文字文件等。 3 m i d l e ts u i t e :许多m i d l e t 所构成的集合。 4 j a r 文件( j a rf i l e ,j a r 文件) :包括m i d l e ts u i t e 的实体文件。 8 哈尔滨理工人学1 二学硕十学位论文 5 描述文件( d e s c r i p t o rf i l e j a d 文件) :用来描述一个m i d l e t s u i t e 的基本 资料,以及该m i d l e ts u i t e 内含的m i d l e t 内含的m i d l e t 的相关信息( 类名称、 图标、程序名) 的外部文件( 不在j a r 文件内部) 。 6 清单文件( n i f e s tf i l e ,m 砌l e s t m f ) :用来描述一个m i d l e ts u i t e 的基本 资料,以及该m i d l e ts u i t e 内含的m i d l e t 内含的m i d l e t 的相关信息( 类名称、 图标、程序名) 的内部文件( 存在于j a r 文件内部) 。 7 j a m :负责将m i d l e ts u i t e 安装到机器上执行的机制的总称。j a m 会 根据使用者的需求而激活相对应的m i d l e t 。单一一个m i d l e ts u i t e ( j a r 文件) 之中可以包含许多的m i d l e t 。而且处于同一个m i d l e ts u i t e 的m i d l e t 彼此之 间可以共享资源和类文彳牛【1 6 】。 j a m 是由操作系统层级来部分来负责。j a m 所使用的传输媒体可以是红 外线、网络、以及其它可用来传输的媒体。如果是手机厂商直接提供软件可以 从p c 上下载m i d l e t 至手机,其运作机制如图2 1 所示: 手机 2 下载并安装 个人p c 图2 - 1 从p c 下载m i d l e t 机制 f i g 2 - 1d o w n l o a dm i d l e tm e c h a n i s mf r o mp c 如果必须透过网页服务器上下载m i d l e t 至手机上,那么细节就复杂一 点,其运作机制如图2 2 所示: 首先,手机连上网络,然后下载描述文件( d e s c r i p t o r f i l e ) ,当手机读取了 描述文件之后,会针对描述文件中所记录的m i d l e ts u i t e 资料做确认工作( 比方 说版本确认) ,接着列出描述文件中记录的所有能执行的m i d l e t ,如果有代表 m i d l e t 的图标,那么j a m 会从j a r 文件中或网站上找出图标文件,然后下载 并显示在手机上。使用者浏览此描述文件所描述的m i d l e ts u i t e 内所有的应用 哈尔滨理t 大学t 学硕l :学位论文 程序,如果有所需要的应用程序,那么它会选择该应用程序,然后按下确定, 此时j a m 会从网络上下载代表该a p p l i c a t i o n s u i t e 的j a r 文件,接着在手机 上。 手机 网站服务器 图2 2 从网络下载m i d l e t 机制 f i g 2 - 2d o w n l o a dm i d l e tm e c h a n i s mf r o mn e t w o r k 安装此m i d l e ts u i t e ,在手机上执行该应用程序1 17 1 。整个详细的运作流程如图 2 3 所示: 图2 3j a m 文件下载及运行过程 f i g 2 - 3j a m f i l ed o w n l o a da n do p e r a t i n gp r o c e s s 1 0 哈尔滨理t 大学t 学硕j :学位论文 2 3 2m i d p 的执行环境 在j a m 激活m i d l e t 之前,它会先确定下列事项都可以让m i d i e t 使用: 1 实作c l d c 中所定义的类函数库的类文件( 以j a v a 编写) 以及原生程序 ( n a t i v ec o d e ,以c 编写) 。c l d c 类函数库不会被m i d i e ts u i t e 里的同名类所 遮盖( 即:如果遇到m i d l e ts u i t e 里有一个和c l d c 有定义的类同p a c k a g e 且同 名的时候,会优先使用c l d c 里的那个类,而不会使用m i d l e ts u i t e 里的那个 类、。 2 实作m i d p 中所定义的类函数库的的类文件( 以j a v a 编写) 以及原生程 序( n a t i v ec o d e ,以c 编写) 。m i d p 类函数库不会被m i d l e ts u i t e 里的同名类所 覆盖。( 即如果遇到m i d l e ts u i t e 里有一个和m i d p 有定义的类同p a c k a g e 且同 名的时候,会优先使用m i d p 里的那个类,而不会使用m i d l e ts u i t e 里的那个 类。 3 所有来自同一个j a r 文件之中的所有类文件。 4 所有来自同一个j a r 文件之中的所有非类文件( 即资源文件) 。 5 描述文件的内容。 以上这几点构成所谓的m i d p 执行环境。位于同一个m i d l e ts u i t e 的 m i d l e t 会共享同一组m i d p 执行环境,而且可以彼此互动。m i d l e t 可以叫用 c l d c 的类函数库,也可以叫用m i d p 的类函数库。位于j a r 文件之中的类文 件可以被同一个j a r 文件之中的m i d l e t 所使用。同一个j a r 文件里头的资源 文件可以通过j a v a 1 a n g c l a s s g e t r e s o u r c e a s s t r e a m 0 来存取。描述文件的内容 则可以通过j a v a x m i c r o e d i t i o n m d i l e t m i d l e t g e t a p p p r o p e r t y 0 取得【1 8 】。 2 3 3j 2 m e 开发坏境配置 j 2 m ew i r e l e s st o o l k i t 是s u n 所发表的官方版m i d l e t 开发工具,比起使用 m i d p 参考实做来说更加方便。j 2 m ew i r e l e s st o o l k i t 不断地进行更新与改版, 是一个开发m i d l e t 的开发工具。要安装j 2 m ew i r e l e s st o o l k i t 之前,一定要先 安装j a v a2s d k1 3 以上的版本【”1 。如果没有安装j a v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 磷酸生产工改进模拟考核试卷含答案
- 燃料值班员岗前价值创造考核试卷含答案
- 防锈处理工安全防护考核试卷含答案
- 稀土冶炼工岗前基础能力考核试卷含答案
- 玻纤非织造制品生产工发展趋势竞赛考核试卷含答案
- 2026年血型鉴定与交叉配血课件
- 商品理货员班组评比强化考核试卷含答案
- 消防设施检测维保员跨领域知识竞赛考核试卷含答案
- 胶印版材涂布液合成工岗中水平能力考核试卷含答案
- 益虫饲养工安全规程评优考核试卷含答案
- 2026年交通运输局招考面试题及答案
- 儿童喘息性疾病合理用药指南
- 会计师事务所2025年度执业质量检查自查报告
- 咖啡厅安全培训课件
- 工程测量安全培训课件
- 高校校企合作人才培养方案模板
- 2025年国企运维岗笔试题目及答案
- 航空应急演练方案(3篇)
- 超声波化学应用原理与技术进展
- 八角栽培和管理技术课件
- 项目工地食堂管理办法
评论
0/150
提交评论