(计算机科学与技术专业论文)基于j2me的手机词典系统的研究与实现.pdf_第1页
(计算机科学与技术专业论文)基于j2me的手机词典系统的研究与实现.pdf_第2页
(计算机科学与技术专业论文)基于j2me的手机词典系统的研究与实现.pdf_第3页
(计算机科学与技术专业论文)基于j2me的手机词典系统的研究与实现.pdf_第4页
(计算机科学与技术专业论文)基于j2me的手机词典系统的研究与实现.pdf_第5页
已阅读5页,还剩73页未读 继续免费阅读

(计算机科学与技术专业论文)基于j2me的手机词典系统的研究与实现.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着科技的发展,移动通讯设备已经成为人们生活中不可缺少的通讯工具。 随着软硬件技术的发展,移动通讯设备在为人们提供优质通讯功能的同时也在 为人们提供越来越多的附加应用。j 2 m e 作为j a v a 技术专为消费嵌入式系统定 制的版本,其稳定性、跨平台性、安全性、扩展性使得成为移动通讯设备上主 流开发平台。在诸如s u nm i c r o s y s t e m s 、n o k i a 、摩托罗拉等大公司的推动之 下,基于j 2 m e 的应用开发逐成热点。 。 手机应用软件属于嵌入式软件开发,必须满足占用空间小,运行效率高等 特点。电子词典系统已经在p c 机上很好地实现,但在手机上实现有较大的难度, 需要针对手机平台的特点进行设计。本文以基于j 2 m e 平台的手机应用功能开发 为线索,进行了相关理论研究,实验和技术开发;不仅实现了手机英汉查询、 添加、删除等功能,而且该系统还能帮助英语学习者记忆生词功能,是一个很 好的英语学习助手。 本文首先对系统研究的意义、可行性和国内外研究现状进行了较为深入的 分析,明确了系统研究的主要内容和系统设计、开发要解决的关键技术问题; 其次,详细介绍了j 2 m e 平台的体系结构、m i d p 应用程序开发流程以及开发工 具;再次,对项目的总体设计、应用环境和相关功能的划分作了详尽的描述; 并在此研究基础上阐述了系统的实现过程:最后,对系统进行了测试,并对项 目的不足和未来研究的方向进行了展望。 关键词:j 2 m e ,嵌入式,m i d p a b s t r a c t a b s t r a c t w i t ht h e d e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g y , m o b i l ec o m m u n i c a t i o n d e v i c e sb e c o m en e c e s s a r y o w i n gt ot h e d e v e l o p m e n to fh a r d w a r e ,m o b i l e c o m m u n i c a t i o nd e v i c e sp r o v i d eh i 曲一q u a l i t yc o m m u n i c a t i o n ,b u tt h e ya l s op r o v i d ea v a r i e t yo fu s e f u la p p l i c a t i o n j 2 m e ,ac o n s u m e r - t a r g e td e v i c e ,c o m e sp r e p a c k a g e da s ar o b u s t ,s e c u r e ,s y s t e m i n d e p e n d e n t ,a n ds c a l a b l ep l a t f o r m t h ec h a r a c t e rm a k e si t p r e v a l e n ta sad e v e l o p m e n tp l a t f o r mi nm o b i l ed e v i c e s s u p p o r t e db yw e l l - k n o w n c o m p a n i e s ,s u c h a ss u nm i c r o s y s t e m s ,n o k i aa n d m o t o r o l a , j 2 m e b a s e d d e v e l o p m e n tb e c o m e sh o t m o b i l ep h o n es o f t w a r e ,w h i c hs h o u l du s el i t t l e s p a c ea n dr b ne f f i c i e n t l y , b e l o n g st oe m b e d d e ds o f t w a r e e l e c t r o n i cd i c t i o n a r ys y s t e m sa r er u n n i n gw e l li n p c s ,b u ti ti sd i f f i c u l tt ob er e a l i z e di nm o b i l ep h o n e s as p e c i a ld e s i g ni sn e e d e dt o a d a p tm o b i l ep h o n e t h ep a p e rp r o c e e d si nt h et h e o r ys t u d y , c o n d u c t st h e e x p e r i m e n t s ,d e v e l o p st h ep r o j e c t sc e n t e r i n gr o u n dt h ej 2 m e ;t h es y s t e mw h i c hi sa v e r yg o o de n g l i s hl e a r n i n ga s s i s t a n t sh a sn o to n l yr e a l i z e de n g l i s ha n dc h i n e s e e n q u i r i e s ,a d d ,d e l e t e ,a n do t h e rf u n c t i o n s ,b u ta l s oh e l p se n g l i s hl e a r n e r sr e m e m b e r w o r d s f i r s t l yt h ep a p e rg i v e sa n a l y s e so ft h es i g n i f i c a n c e ,r e a l i z i n gp o s s i b i l i t ya n dt h e s t u d ys t a t u sa b o u tt h ec u s t o m e rc l a s s i f i c a t i o n s e c o n d l y ,a n a l y s i st h ea r c h i t e c t u r eo f j 2 m ep l a t f o r m ,m i d pa p p l i c a t i o nd e v e l o p m e n tp r o c e s sa sw e l la st h ed e v e l o p m e n t t o o l s t h i r d l y , m a k e sad e t a i l e dd e s c r i p t i o na b o u tt h ed e s i g no ft h eo b j e c t , a p p l i c a t i o ne n v i r o n m e n ta n dr e l a t e df u n c t i o n sd i v i s i o na n dt h er e a l i z a t i o no ft h e s y s t e m f i n a l l y , t e s t st h es y s t e m ,p o i n to u tt h es h o r t c o m i n ga n dp r o s p e c t so ft h e r e s e a r c h k e yw o r d s :j 2 m e ,e m b e d d e d ,m i d p i i 学位论文版权使用授权书 本人完全了解同济大学关于收集、保存、使用学位论文的规定, 同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版 本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、 扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提 供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国 家有关部门或者机构送交论文的复印件和电子版;在不以赢利为目 的的前提下,学校可以适当复制论文的部分或全部内容用于学术活 动。 学位论文作者签名:款陆锻 如痹3 月r 日 经指导教师同意,本学位论文属于保密,在年解密后适用 本授权书。 指导教师签名:学位论文作者签名: 年月日年月日 同济大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进 行研究工作所取得的成果。除文中已经注明引用的内容外,本学位 论文的研究成果不包含任何他人创作的、已公开发表或者没有公开 发表的作品的内容。对本论文所涉及的研究工作做出贡献的其他个 人和集体,均已在文中以明确方式标明。本学位论文原创性声明的 法律责任由本人承担。 签名:馥阻圾 h 识年3 月 ,日 第1 章绪论 第1 章绪论 人类对于自由和交流的渴望是无止境的,技术的发展使得人类对自由的 梦想逐渐成为现实。个人计算机的出现和发展使人类的个人计算能力不断增 强,将人们从繁琐的事务劳动束缚中解脱出来:互联网使人类摆脱了单机和局 域网的局限,打破了时空交流上的限制,是人类追求并获得自由的一个重要 里程碑:移动通信让人们摆脱电话线的约束,能够随时随地进行交流,让人 们从一种固定的生活方式逐渐走向移动的生活方式。作为一种通信工具,手 机很好地体现了它应尽的职责。但是,随着岁月的流逝,仅仅用通信终端作 为手机的定义显然是狭窄的,人们已不再满足于手机单一的通信功能了,人 们想从手机那里了解到更多的资讯和获得更多的时尚娱乐。随着技术的创新, 在我们今天的生活中,手机更是一个必需的个性化的智能信息用品和娱乐终 端。手机的普及和其应用的多样化促进了手机应用软件开发技术的发展。 1 1 课题的背景 提到手机应用软件的开发技术,人们首先想到的就是耳熟能详的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 o l ,无线应用协议) 技术。w a p 是w a p 论坛 经过不断努力得到的成果。w a p 论坛是1 9 9 7 年6 月由摩托罗拉、爱立信、诺 基亚及p h o n e c o m 四家厂商联合创建的,这个讨论组的主要职责是制定w a p 的标准和规范。应用这个业界技术规范可以开发出适用于各种无线通信网络 的应用程序和业务。由于各种原因,无论在欧洲还是在亚洲,w a p 技术的市场 反映相当冷淡。就在w a p 技术遭受重大失败的同时,i - m o d e 技术给人们带来 了希望。自从i m o d e 在1 9 9 9 年2 月推出以来,它己经把日本从一个互联网 发展落后的国家转变为世界上互联网市场发达的国家之一。日本的n t t d o c o m o 公司由于发明和推广i m o d e 技术而迈向了世界级顶级无线服务商的位 置。在韩国,手机应用软件开发商们使用得更多的是一种称为g v m 的技术, 它所使用的开发语言是m o b i l ec 。m o i b l ec 是c 语言的一个子集,它与手机 硬件接口结合得比较紧密,因此使用m o i b l ec 开发的应用程序执行速度快。 第1 章绪论 2 0 0 2 年,北美的q u a l c o m m ( 高通) 公司和中国联通共同推出了b r e w 技术。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 rw i r e l e s s ,用于无线应用程序的二进制 运行环境) 是一个无线终端应用软件的开发和运行平台。为了应对无线应用开 发领域迅速发展的趋势,s u n 公司推出了j 2 m e ( j a v a2p l a t f o r mm i c r o e d i t i o nj a v a2 微型版) 技术。由于j 2 m e 技术本身的优点和大部分应用商的 广泛支持。因此本文主要研究j 2 m e 技术【2 引。 j a v a 语言是s u n 公司开发的,其前身是o a k 项目。它原本是专门为机顶 盖这类小型的资源受限的消费性电子设备的应用系统设计的。但是,无心插 柳柳成荫,因为在网络应用上的出色表现,j a v a 在网络编程方面的应用非常 流行,以致到现在的在服务器端的应用,如j 2 e e ,e j b 等等,j a v a 发展得越 来越庞大。不过,s u n 公司并没有因为j a v a 在企业级应用软件方面的广泛应 用而停止在小型设备应用方面的研究。1 9 9 9 年6 月,j 2 m e 在j a v a o n el 大会 上被正式作为一个独立的平台提出。j 2 m e 一推出,著名的美国电信网络运营 商n e x t e l ,s p r i n t p c s ,b t c e l i n e t 等热切地加入到j 2 m e 的研发中来。全球 著名的通信设备制造商例如摩托罗拉( m o t o r o l a ) 、诺基亚( n o k i a ) 、西门子 ( s i e m e n s ) 、松下( p a n a s o n i c ) 、爱立信( e r i c s s o n ) 等也纷纷宣布支持j 2 m e 技术。当前,欧美许多手机设备制造商的主要利润来源已经不再是手机销售, 而是各种依附于手机应用软件的增值服务,他们的角色正逐渐由硬件设备制 造商向全方位的通信服务商转变。在中国,摩托罗拉和爱立信这两大通信设 备制造商( 手机生产商) 在中国移动g p r s 网络j 下式商用的前后,不约而同地推 出了手机应用软件开发的全国性大赛。摩托罗拉公司联合中国软件行业协会 和s u n 公司联合主办的“摩托罗拉3 8 8 杯”j 2 m e 应用程序大赛。爱立信也在 北京和s u n 公司联合启动了“移动应用开发计划”,两者的内容惊人地相似, 就是要在s u n 公司、摩托罗拉或者爱立信的技术支持下,开发基于j 2 m e 的手 机应用软件。主要方向为手机游戏、动画屏保、电子图书、电子漫画、电子 地图、证券软件等。这些大赛吸引了从事j a v a 语言应用开发的众多软件开发 商和个人爱好者的关注。而这些大型手机设备制造商积极推动无线应用开发 的举动,反映出了走向3 g 的手机业界的行业趋势。据无线市场分析家预计, j 2 m e 将逐渐成为无线设备的主导开发平台【2 6 1 。 2 第1 章绪论 1 2 为什么选择j 2 m e 手机软件开发平台 到目前为止,手机上的应用软件开发大多数都是基于j 2 m e 平台的,这是 为什么呢【2 0 】? 让我们回顾一下手机的发展历史,我们不难发现它的发展经历了三个阶 段:早期的传统手机通常只有通话和短消息功能,只能提供基本的语音服务, 这是第一阶段。到了第二阶段,手机上又增加了一些简单的附加应用,如电 话簿和电话铃声编辑等功能,使手机的功能变得比较多样化了。然后,随着 无线通信业的迅速发展,手机也发展到了第三阶段,开始有了访问i n t e m e t 的 功能。在过去的几年里,无线通信业呈现了爆炸式的增长。与此同时,人们 已经变得越来越依赖于i n t e m e t 网上的信息,而且希望不但能够通过他们的计 算机,而且能够通过手机来访问i n t e r n e t 网上的信息。虽然目前的无线网络只 能提供有限的数据传输率,允许用户每秒仅仅传输最多几十k 位的数据,但 是,即将来临的第三代无线网络将会提供从每秒几百k 位到几兆k 位不等的 数据传输率,从而将会有足够的带宽来传输实时视频信号和高质量的音频信 号,也可以下载大量的应用和服务软件。 然而,随着无线i n t e r n e t 新应用的出现,新的问题也随之而来。首先面临 的是开发瓶颈的问题目前,手机类嵌入式系统普遍使用c 语言和专用的实时 操作系统,不仅开发速度慢,而且没有动态加载应用程序的能力,导致手机 上的应用程序开发很困难。一方面,单纯依靠手机厂商自身的软件开发能力 难以满足市场的需求,另一方面广大的软件开发商却又无法参与进来,开发 适用于手机的应用程序,这无疑极大地制约了新应用的推广与普及。其次, 目前手机访问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 ) 方式,而且 只能访问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 采用的b r o w e r s e r v e r 方式访问 i n t e r n e t ,能提供的功能很有限,并且,因为现有的w a p 解决方案不够智能化, 又不能访问本地存储区,如果进行在线交易会增加服务器负荷,使服务器的 反应速度变慢,使无线i n t e r n e t 的应用受到了很大限制。 j 2 m e 的出现则使上述问题迎刃而解。因为j 2 m e 是基于j a v a 语言的, 所以它天生就具有以下优点: 动态内容传输。新的应用、服务和内容可以通过不同类型的网络动态 第1 章绪论 下载。 安全。类文件校验、明确定义的应用程序编程接口和安全组件确保了 第三方应用程序的行为是可靠的,不会对设备或者网络造成损害。 交叉平台的兼容性。标准化语言组件和库意味着由于支持j 2 m e 配置 和描述所带来的约束使应用和内容可以在不同设备之间灵活地传输。 离线获取。不用激活网络连接,应用就可以被使用。这种特点降低了 传输费用,减轻了可能的网络故障带来的影响。 一种功能强大的现代面向对象的编程语言。j a v a 相对于当前用于无线 软件开发的编程语言和工具来说具有更加完善的抽象机制和更高级 的程序构造,这使得应用开发更加有效。 巨大的开发者团队。据估计,在全球有超过3 0 0 万的j a v a 软件开发 者。j a v a 也正迅速地变为和c 语言一样在学院和大学里被用于教学的 流行的编程语言。 这些特性使第三方软件开发商可以很容易地介入应用程序的开发,并且 可以很方便地将应用程序安装到手机上,开发周期也大大缩短,而且还能支 持应用程序的动态下载和升级。j 2 m e 提供了h t t p 协议支持,使手机能以 p c 机使用的c l i e n t s e r v e r 方式直接访问i n t e r n e t 的全部信息,此外还能访问 本地存储区,提供最高效率的在线交易。j 2 m e 应用程序除了能够更好地完善 手机上已有的应用外,还进一步增加了字典、图书、游戏、定时提醒等新的 应用,并能访问电子邮件、即时消息、股票和电子地图等信息。 将j 2 m e 技术应用到手机上绝不是强制的,最重要的一点是这种应用是通 过补充现有的技术和标准循序渐进地完成的,而不是同这些现有的技术和标 准竞争。j 2 m e 并没有为无线设备定义一个新的操作系统或者一个完整的系统 软件栈,它只是定义和标准化了一种可移植的无线应用开发环境,主要是针 对第三方应用开发商,将设备软件开发向第三方开放,这个环境可以灵活地 附加到设备制造商开发的己经存在的软件和硬件之上,并且不会对已经存在 的系统软件造成影响。这才是j 2 m e 大获成功的真正原因! 【2 7 j 1 3j 2 m e 在国内外的发展状况 目前在国内外,j 2 m e 已经引起了众多厂商和公司的重视,很多厂商已经 4 第1 章绪论 进入j 2 m e 的开发领域。随着智能终端的普及,各种应用,包括移动游戏、移 动电子商务、企业应用的无线扩展等都已经开始发展并且越来越引人注目。 在移动游戏方面,经过几年的发展,国内已经出现了一批专业的j 2 m e 手机游戏开发公司,如d i g i t a l r e d ( d e , 京数位红软件应用技术有限公司) 、美通 无线、天津猛码、岩浆数码等等,其中有代表性的是数位红,其在移动设备、 移动平台上的开发居全国领先地位,开发的产品己经销往在十多个国家和地 区,并与n o k j a 公司结成重要合作伙伴,其产品捆绑在n o k j a 在大陆销售 的多款手机中。 在移动商务方一面,利用j 2 m e 提供的功能,电子商务、企业的商务应用 都可以扩展的无线上来。很多应用方案提供商都提出了基于j 2 m e 的移动商务 解决方案,国内外很多公司和研究机构也都在从事这方面的课题的研究。 从j 2 m e 的国内外发展情况,我们可以看出,基于j 2 m e 平台的手机应用 开发在最近会是一个热点,并且它的确可以给人们的生活带来便捷。 1 4 研究内容 本文的工作主要包括: 第一章:主要介绍本课题的研究背景、国内外的研究现状及作者所作的 主要的研究工作。 第二章:详细分析了j 2 m e 平台的体系结构、开发流程以及开发工具。 第三章:主要介绍了手机词典系统的设计,首先说明系统应用背景、设 计中考虑的因素、设计目标,然后介绍其系统结构。 第四章:实现手机词典系统,并详细介绍了手机词典系统开发的相关技 术。 第五章:对系统进行了测试,并介绍了如何打包及安装程序。 第六章:总结了本文的主要工作,对本系统进行中存在的问题进行分析。 第2 章基丁j 2 m e 的手机软件开发平台 第2 章基于j 2 m e 的手机软件开发平台 2 1j 2 m e 概述 2 1 1j a v a2 平台划分 认识到一种结构不可能适应所有的情况,所以,s u n 公司将j a v a 划分成3 个不同的版本,每个版本都针对当今计算机产业中的一个特 定领域: j 2 e e ( j a v a2p l a t f o r m ,e n t e r p r i s ee d i t i o n ) ,用于企业为客户、供 应商和员工的可升一级的服务器解决方案。 j 2 s e ( j a v a2p l a t f o r m ,s t a n d a r de d i t i o n ) ,用于常见的桌面计算 机市场和低端商务应用提供解决方案。 j 2 m e ( j a v a2p l a t f o r m ,m i c r oe d i t i o n ) ,用于消费产品和嵌入式 设备的最佳解决方案。 2 1j a v a 的版本结构 第2 章基于j 2 m e 的手机软件开发平台 图2 1 表明了j a v a 的不同版本和它们的目标市场,从左侧最高端 的平台开始一直到右侧最低端的平台为止。基木上标识了3 个目标市 场或者说是广泛的目标设备类型。j 2 e e 提供对服务器和企业级计算机 的支持,j 2 s e 提供对桌面和个人计算机的支持,j 2 m e 提供对高端和 低端消费类设备的支持。 高端消费类设备:这个类别的典型设备是电视机顶盒、可视电 话、车载娱乐导航系统等。这些设备具有处理大数量用户接口 的能力,总的内存固定地从2 m 到4 m ,高带宽地网络连接。 低端消费类设备:这个类别的典型设备是手机、智能电话、传 呼机等,这些设备有简单的用户界面、很小的内存( 一般不超过 12 8 k ) 、低带宽和非连续的网络连接。大多数这些设备都是靠 电池供电。 这两类设备之间的界限很模糊,它们之间的界限主要是靠设备的 内存容量、网络带宽、物理屏幕尺寸来划分的。 2 1 2j 2 m e 概念 到底什么是j 2 m e 呢? j 2 m e 是s u n 公司于19 9 6 年6 月推出的、专 门为资源受限的小型消费性电子设备的应用程序开发提供的新j a v a 版 本,目前已经被广泛地用于手机、p d a 个人数字助理、汽车导航系统 以及电视机顶盒等众多小型资源受限设备中,有着非常好的发展前景。 它的主要技术优势在于:有良好的跨平台能力,实现了w r i t eo n c e ,r u n a n y w h e r e :有着与j 2 e e 后端的无缝结合能力;保留了j a v a 语言的优 良特色,如简单、安全;以及现有的j a v a 平台上广泛的开发工具,企业、 开发人员能够为j 2 m e 提供良好物质和人力支持等【2 1 。 目前阶段,j 2 m e 最流行的应用是游戏软件。因为与需要昂贵的专 用设备和开发工具的竞争对手相比,j 2 m e 程序可以在p c 机上开发和 仿真运行,然后很容易地部署到目标机上,从而使其开发、测试和发 布的变得容易和廉价。实际上j 2 m e 的用途和前景要广泛得多。 2 2 配置和描述 7 第2 章基于j 2 m e 的手机软件开发平台 j 2 m e 从问世开始就专门为内存容量小和处理能力较低的移动设 备作为j a v a 开发平台而设计的。从表面上看,这样做对那些希望提升 应用程序的移植性的开发者来说是一件好事,然而,“移动设备”这个 术语却涵盖了相当广泛的领域,包括传统的个人数字助理( p d a ) 、智能 电话、传呼机甚至g p s 单元等,它们都具有各不相同的硬件配置。同 样的,这类设备的市场也支离破碎,同一供应商的两种设备之间都存 在兼容性问题,更别说不同设备供应商的产品了,在很多情况下简直 就是乱七八糟。给这些五花八门的移动设备提供一种普遍适用的开发 平台几乎是不可能的。所以j 2 m e 定义了两种类型的规范,它们携手 提供一种移动j a v a 平台,这两种规范就是配置( c o n f i g u r a t i o n ) 和描述 ( p r o f i l e ) 。 2 2 1 配置( c o n fig u r a tio n ) j 2 m e 通过对配置的抽象来处理大量千差万别的移动设备硬件功 能。j 2 m e 的配置定义了特定设备可用的虚拟机和低级a p i ,同时提供 相应的开发基础。目前可用的配置有两种,它们是连接设备配置 ( c d c ,c o n n e c t e d d e v i c e c o n 6 9 u r a t i o n ) 和有限连接设备配置 ( c l d c ,c o n n e c t e dl i m i t e dd e v i c ec o n 6 9 u r a t i o n ) 。 1 连接设备配置 c d c 应用于相对内存量较大、更强处理器的移动设备。c d c 规范 采用了内存优化的虚拟机,也就是所谓的c v m ,通过它提供等同标准 j v m 的特性。按照s u n 的文档说明,c d c 针对新型p d a 、智能通讯设 备和机顶盒之类的高端设备。为了能够受到c d c 支持,移动设备必须 至少具备以下条件【2 】: 用于c v m 和j a v aa p i 库的2m b 内存。 3 2 位微处理器或者控制器。 可用网络连接,最好是高带宽连接。 2 连结有限设备配置 c l d c 的要求有利于昂贵的手机、i r 扫描仪或类似产品。c l d c 则主要针对那些更轻便、更便宜、不能满足c d c 要求的设备。它的设 第2 章基于j 2 m e 的手机软件开发平台 备需求如下: 最低16 0 k b 的内存,其中12 8 k b 用于。k v m 和运行时库 最低16 位2 5 m z 处理器 有限的用户界面功能 没有( 或者间歇的) 低带宽网络连接 2 2 2 描述( p r o f ie ) 如果说配置为应用程序提供了硬件抽象基础,那么,描述则对应 用程序的软件接口进行了抽象。描述专门针对特定配置定义了一整套 j 2 m e 应用程序可用的a p i 类,它完善了配置,为某个具体的设备类别 或某个具体的应用程序提供更高的性能。这里的关键就是描述只是完 善配置,没有配置和虚拟机提供应用程序核心类接口和运行时环境的 话,描述也不会工作。通常,描述为一种给定的设备类别提供用户界 面、输入法、持久性存储机制。这类描述被认为是发展这些设备应用 程序的完整工具包。 s u n 公司推出了两种可用的j 2 m e 描述:基础描述( f o u n d a t i o n p r o f i l e ) 和移动信息设备描述( m i d p m o b i l ei n f o r m a t i o nd e v i c e p r o f i l e ) 。基础描述主要用于c d c 配置,因而其虚拟机几乎等同于标准 的虚拟机。这意味着,使用基础描述的开发人员可以访问完整实现的 j 2 s e 特性集。 m i d p 连同功能较少的c l d c 配置一道为开发移动设备应用程序 提供了,j a v a 平台。m i d p 支持j 2 s e 类库的有限子集和c l d c 配置上 定制的用户接口和输入输出类。 2 3j 2 m e 体系结构 j 2 m e 的体系结构是基于设备的类别【3 1 。一个类别定义了一个特定 种类的设备:手机、简单寻呼机和电脑记事本都是单独的类别。 为了支持有限连接设备类别所要求的那种灵活性和可定制性,s u n 公司将j 2 m e 体系结构设计成模块化的和可伸缩的。j 2 m e 技术在一个 9 第2 章基于j 2 m e 的手机软件开发平台 完整的应用程序运行时模型中定义了这种模块性和可伸缩性,在该模 型中的三个软件层都构建在设备的主机操作系统上。图2 2 显示了 j 2 m e 的四层体系结构。 h o s to p e r a f i n gs y s t e m 图2 2j 2 m e 体系结构 主机操作系统层( h o s to p e r a t i n gs y s t e ml a y e r ) :这层为特定 硬件设备的操作系统层。 j a v a 虚拟机层( j a v av i r t u a lm a c h i n el a y e r ) :这一层是j a v a 虚拟 机的一个实现,它是为特定设备的主机操作系统定制的,支持 一个特定的j 2 m e 配置。 配置层( c o n f i g u r a t i o nl a y e r ) :配置层定义了j a v a 虚拟机的功能 和特定类别设备卜可用的j a v a 类库的最小集。从某种程度上 说,一个配置定义了j a v a 平台的功能部件和库的共同性,开发 者可以假设这些功能部件和库在属于某一特定类别的所有设 备e 都是可用的。这一层对用户是透明的,但它对描述的实现 者非常重要。 描述层( p r o f i l el a y e r ) :描述层定义了特定类别设备上可用的应 用程序编程接口的最小集。描述在一个特定的配置上实现。应 州程序是针对特定的描述编写的,冈此可以移植到支持该描述 的任何设备上。一个设备,| i j 以支持多个描述。用户和应用程序 丌发者看到最多的就是这一层【4 1 。 j a v a 虚拟机层、配首层和描述层一起为j 2 m e 应用程序提供了一 第2 章基于j 2 m e 的手机软件开发平台 个标准的运行时环境,这个环境允许新的应用程序和服务动态地被安 装到各种终端用户设备上。 在手机上,k v m ,c l d c ,m i d p 分别实现了j 2 m e 体系结构中的j a v a 虚拟机层、配置层和描述层。下面,通过对k v m ,c l d c ,m i d p 的详细 介绍,以加深对手机上的j 2 m e 体系结构的认识。 2 4k v m 2 4 1k v m 概念 c l d c 和m i d p 都是运行在s u n 公司的k v m 上。k v m 是一个专 门为小型、资源受限设备所设计的紧凑的、便携的j a v a 虚拟机。j a v a 虚拟机是j a v a 程序语言的核心,只要j a v a 程序在执行,j a v a 虚拟机也 必定在执行。j a v a 虚拟机是实际执行j a v a 程序的引擎,也是j a v a 语言 具有这么多优良特色的关键所在。当你执行j a v a 程序时,程序内的指 令其实并不是由硬件直接执行,而是由一个特别的软件一一读取这些 指令来执行的。简单地说,j a v a 程序不是被底层的c p u 直接执行,而 是被“虚拟c p u 执行的。虚拟机的优点甚多,比如移植方便,只需 要移植虚拟机和相关的支持程序库到新的硬件架构上,所有上层的应 用程序都不需要更动就完成移植了。虚拟机的另一个好处是它在计算 机软硬件间加入一层抽象分离和保护,可以防止恶作剧的程序暗中搞 鬼( 比方说删除文件或破坏内存) 。 2 4 2k v m 特征 k v m 设计的高级目标是生成尽可能小且完整的j a v a 虚拟机,它 具有以下特征: 小型的,虚拟机核心所占有的静态存储空间在4 0 k b 8 0 k b 之间 ( 与编译选项和目标平台有关) 清晰的,具有良好的注释和高可移植性 模块化,可定制 第2 章基于j 2 m e 的手机软件开发平台 在不牺牲其它设计目标的前提下尽量完善和高速。 k v m 中的“k ”代表“千( k i l o ) ”。这样命名是因为它的内存容量 是用几十k b 来衡量的( 而桌面系统是用兆( m ) 甚至是用千兆( g ) 来衡量 的) 。k v m 典型地应用于数字移动电话、传呼机、p d a ,p o s 终端、家 用智能电器等等设备上面。 2 4 3k v m 实现 k v m 实现所需的最小内存空间大约是l2 8 k 日,包括虚拟机、最 小的库和运行j a v a 应用程序所需的堆空间。一个更加典型的实现是需 要总共2 5 6 k b 内存空间,其中3 2 k 作为应用程序运行时的堆空间, 6 0 8 0 k 应用于虚拟机本身,剩余的为类库保留。 由于受到严格的内存容量限制,k v m 因此缺乏一些完整j v m 所 提供的特性,这意味着,你可能要改变自己的编程风格了。使用c l d c 的开发者在编译程序之后必须预先采用j 2 m e 开发工具包所提供的一 种检查工具对他们的源代码进行预校验。 k v m 在目标设备中真正的任务会非常不同。在一些实现中,k v m 常常是位于本地软件栈之上使设备具有在其上下载和运行动态、交互、 安全的j a v a 程序的能力,手机上的k v m 就属于这种情况。在另一些 实现中,k v m 被用于底层同时也用j a v a 编程语言实现底层系统软件 和设备应用。 为了满足基于k v m 的设备一般只有狭小的内存空间和有限的处 理能力的事实,k v m 是用c 语言编写的,所以只要有c 语言编译器, 它就可以方便地移植到各种平台上。此外,k v m 是模块化的,也就是 说,它是由模块构建的,当某个模块实现了预先设定的目标后,可以 很容易地把这一模块卸载。可选的模块包括:大的数据类型( 1 0 n g ,f l o a t 和d o u b l e ) 、多维数组、类文件验证等。 , 2 5c l d c 2 5 1 什么是配置 1 2 第2 章基于j 2 m e 的手机软件开发平台 j 2 m e 中,所有的应用程序都是针对特定的描述编写的,而描述是 基于或者扩展了一个特定的配置。因此,配置所有的特征都会包含到 描述中并且可以被为这个描述编写的应用程序所使用。配置定义了一 个j a v a 平台,这个平台具有相似的对于内存容量和其它硬件特征的要 求。更加明确的说,配置: 指定了支持的j a v a 编程语言的特征 指定了支持的j a v a 虚拟机的特征 指定了支持的基本j a v a 库和a p i 每个配置详细指定了j a v a 语言和虚拟机的特征和一套库。从而描 述的实现者以及使用描述的应用程序可以安全地认为当设备出厂的时 候这些特征和库都是存在的。描述的实现者必须将他们的代码限制在 配置所标明的特征和库范围内。 简单地说,配置为设备制造商和描述实现者定义了“最低公共标 准”平台或者构建块。所有具有大体相同的内存容量和处理能力的设 备都要实现定义在配置中的所有特征。描述的实现者要同意只使用配 置定义的特征。因此,可移植性通过这个配置就在描述和设备之间实 现了【5 1 。 在j 2 m e 环境中实现配置层最重要的原因,是跨大量不同j a v a 平 台实现的核心j a v a 库,总是同一个j a v a 虚拟机的实现紧密地结合在一 起。在配置规范中很小的差别就需要对一个j a v a 虚拟机的内部设计进 行大的改动,并且有可能会需要附加一些物理内存,维护这样的改变 是非常昂贵并且费时的。数量很少的配置意味着很少数量的j a v a 虚拟 机实现就可以满足大量的描述和大量不同硬件设备类型的需求。这个 j 2 m e 所提供的经济上的尺度对于在消费类和嵌入式工业中获得成功 并带来效益是非常重要的。 2 5 2c d o 和c l d o 为了避免混乱,j 2 m e 只有相当有限数量的配置。到目前为止,只 有两种标准的j 2 m e 配置可用: c l d c :这个配置致力于低端的消费类设备,c l d c 的目标设备 第2 章基于j 2 m e 的手机软件开发平台 典型的例子包括个人的、移动的、电池供电的、互联的信息设 备象手机、双向传呼机和个人信息管理器。这个配置包括一些 新的类,并非全部来自j 2 s e 的a p i ,而是特别为适应小型设 备而设计的。 c d c :这个配置致力于高端的消费类产品。c d c 的目标设备典 型例子包括共享的、互联的信息设备象电视机机项盒、i n t e r n e t 电视和高端的通信设备。 图2 3j 2 m e 配置和j 2 s e 的关系 图2 3 表明了j 2 m e 的两种配置和j 2 s e 之间的关系。正如图中所 示,c l d c 和c d c 的大部分功能派生自j 2 s e ,从j 2 s e 环境中派生的 类必须完全与j 2 s e 环境中的类相符合或者是其子集。另外,c l d c 和 c d c 引入了一些并非来自j 2 s e 的特征,这些是专门为适应小型设备 而设计的。c l d c 是c d c 的一个子集。 2 5 3c l d c 目标 1 为小型的、资源受限的连接设备定义一个j a v a 平台标准。这些设 备具有以下的特: 16 0 k 到5l2 k 的总存储空间可用于j a v a 平台 l6 位或3 2 位的处理器 低电力消耗,通常使用电池供电 连接一些网络,通常是无线的、问断性连接以及有限的带宽 2 允许向这些设备动态地传递j a v a 应用程序和内容。 3 使第三方应用程序开发商能够轻松地生成应用程序和内容,并配置 1 4 第2 章基于j 2 m e 的手机软件开发平台 到这些设备上。 2 5 4c l d c 范围 j a v a 语言和虚拟机特征 核心j a v a 类库o a v a 1 a n g 木,j a v a u t i l 木) 输入、输出 网络 安全 国际化 c l d c 配置不包括下列领域的问题,这些特征由位于c l d c 上面 的描述实现来解决: 应用程序的生存周期管理( 应用程序的安装、发布、删除) 用户界面 事件处理 高级应用模型( 用户和应用程序间的交互) 2 5 5c l d c 特征 安全 遵守j a v a 语言规范 遵守j a v a 虚拟机规范 要求类文件验证 2 5 6c l d c 类库 j 2 e e 和j 2 s e 为桌面计算机和服务器的企业级应用和开发提供了 非常丰富的库函数。不幸的是这些库需要几十兆的内存来运行,因此 并不适合于资源受限的小型设备。所以c l d c 针对小型受限设备重新 制定了一个类库。为了保证应用程序的兼容性和可移植性,包括进 c l d c 的大多数类库都是j 2 s e 中规定的子集,其它一些是由c l d c 规 定的专用于移动设备的类。包括:从j 2 s e 中继承的类、国际化支持类、 1 5 第2 章基于j 2 m e 的手机软件开发平台 系统属性类、c l d c 专用类四个方面。 2 6mid p 2 6 1mid p 体系结构 m i d p 是位于c l d c 上层的p r o f i l e ,是目前j 2 m e 平台中发展相对 最成熟最广为人知的p r o f i l e ,如同m i d p 的名字所描述的,其针对的 是移动信息设备( m o b i l ei n f o r m a t i o nd e v i c e ) ,这类设备通常指手机或 是p d a ,它们在屏幕、内存、处理器等硬件特性上有诸多限制。 j 2 m e 的c l d c m i d p 的软件体系架构如图2 5 所示: 图2 5m i d p 体系结构 在m i d p 的上层的应用程序被称为m i d l e t ,这些m i d l e t 在底层 c l d c 的支持下,通过m i d p 中提供的包获得更多的功能。m i d l e t 可 以直接使用m i d p 本身提供的类库以及m i d p 从c l d c 中继承的那部 分a p i t8 1 。m i d l e t 本身并不能直接访问其底层设备的操作系统并且也 不可能做到这一点,除非你的版本是移植到特定设备平台上的。o e m ( o r i g i n a le q u i p m e n tm a n u f a c t u r e r ) 特有的应用程序可以通过某设备厂 商提供的专用的类库来获得更多额外的功能,例如m o t o r o l a 和 s i e m a n s ,其无线丌发包中都有其附加的库,以提供其设备特有的一些 功能,其中有些可能访问了底层设备的操作系统。 1 6 第2 章基于j 2 m e 的手机软件开发平台 2 6 2mid p 应用程序开发 m i d l e t 是一个可以执行的j 2 m e m i d p 应用程序的基本单位。除 了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 p 应用程序是由一个j a d 文件( 纯文字文件) 与 j a r ( j a v a 压缩格

温馨提示

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

评论

0/150

提交评论