(计算机软件与理论专业论文)移动信息设备java通用开发平台研发探索.pdf_第1页
(计算机软件与理论专业论文)移动信息设备java通用开发平台研发探索.pdf_第2页
(计算机软件与理论专业论文)移动信息设备java通用开发平台研发探索.pdf_第3页
(计算机软件与理论专业论文)移动信息设备java通用开发平台研发探索.pdf_第4页
(计算机软件与理论专业论文)移动信息设备java通用开发平台研发探索.pdf_第5页
已阅读5页,还剩71页未读 继续免费阅读

(计算机软件与理论专业论文)移动信息设备java通用开发平台研发探索.pdf.pdf 免费下载

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

文档简介

川人学碗l 。学位论上 移动信息设备j a v a 通用开发平台研发探索 计算机软件与理论 研究生:陈立民指导老师:唐宁九 摘要 今天计算已经无处不在。各种消费电子产品,包括智能手机,p d a ,w e b 小, 信息家电等等实现了随时随地得计算。这是一个异常广阔和丰富多彩的领域, 其设备极度多样化而且都将在网络中,j a v a 技术的跨平台性和网络功能在这里 大有用武之地。这就是】2 m e 。 j a v a2 平台袖珍版( j a v a2p l a t f o r m ,m i c r oe d i t i o n ( j 2 m e ) ) 为开发者提供 了伟大的工具,它把j a v a 平台的以网络为中心和平台不可知论的特性移植到 有限存储器和有限处理器的设备。我们且看看s u n 公司对j 2 m e ( j a v a2m i c r o e d i t i o n , j a v a 微型版) 的定义:“一种以广泛的消费性产品为目标的,高度优化 的j a v a 运行环境”。自从1 9 9 9 年6 月在j a v a o n e d e v e l o p e r c o n f e r e n c e 上声明之 后,j 2 m e 进入了小型设备开发的行列。 本文先对j a v a 技术进行了介绍,如j 2 e e ,j 2 s e ,j 2 u e , 详细的介绍了j 2 m e 的体 系结构,就其基本概念:g o n n e c t e du m r e dd e v i c ec o n 靠g u r a t i o n 侑限连接设 备配置,c l d cl ,g o n n e c t e dd e v i c ec o r f f i g u r a t i o n ( 垂f = 接设备配置c d c ) ,以及 这两种配置分别对应两类虚拟机:g v m ( cv i r t u a lm a c h i n e ,c 虚拟机) 和k v m ( k v i r t u a lm a c h i n e k 虚拟机) 进行相关说明,对其概念中难如区分的配置 ( c o n f i g u r a t i o n ) 和简表( p r o f i l e ) 进行了详细的辨析,然后详细叙述其中的一个 简表:m i d p ( h i d p ( m o b i l ei n f o r m a t i o nd e v i c e sp r o f i l e ,移动信息设备简 表) ,并针对该简表所定义的a p i 提供的功能在实际应用开发的不足,本人进行 了一些研发工作,对该简表所定义的a p i 提供的功能进行补充,可以讲是一个开 爱引擎吧,简化了实际应用开发中的难度,这些研发工作主要是针对移动设备 莲行的,而该设备的资源极其有限,所以代码总体大小也有着苛刻的要求,本 k 主要针对界面,网络两大块进行补充,特别是在界面部分,做了相当多的工 州川人学颤i j 学位论文 作,开发了m i d p 中并不提供,但常用的几令界面控件i 如按钮,标签,还有就 是大大加强了图片的处理能力,开发了剪切图标,动画图片等功能类。在数据 读取( 本地或网络) 上也开发了相关的辅助类,相信这套引擎能给实际的应用 丌发带来很大的方便,大大简化应用丌发的复杂度。所有开发完毕后,经过编 译,混淆,打包,总的代码大小在1 8 k 左右,能满足实际应用开发的要求。 虽然该开发是针对移动设备进行的,实际上也能应用于整个j 2 m e 中,甚至是 j 2 s e 中,当然,有些引用部分可能要做小的修改。 关键字: c l d c ,c d c ,m i d p , 画布,绘制,裁剪,动画。 i i l j q , 1 人学顿i 学位论文 m o b i l ei n f o r m a t i o nd e v i c e s :t h es t u d yo f c o m m o nj a v a d e v e l o p m e n tp l a t f o r m m a s t e rc a n d i d a t e :c h e nl im i n a d v i s o r :p r o f t a n gn i n gj i u 【 b s t r a e t t o d a yt h ec a l c u l a t i o ni sa l lo v e rt h ew o r l d h l lk i n d so fe l e c t r o n i c p r o d u c t s ,i n c l u d i n gi n t e lli g e n th a n d s e t ,p d a ,w e b - t v d o m e s t i c i n f o r m a t i o ne l e c t r i ca p p l l a n c e s ,a n ds oo n t h e yc o u l dc a l c u l a t ea n yt i m e a n yw h e r e t h i si sa ne x t r a o r d i n a r yw i d e r ,r i c ha n dc o l o r f u lf i e l d ,o f w h i c ht h ef a c i l i t i e sa r eo fg r e a td i v e r s i f i c a t i o na n da 1 1i nt h en e t w o r k a sar e s u l tt h em u l t i p l a t f o r ma n dn e t w o r kf u n c t i o no ft h ej a v aa r eo f g r e a tu s et oi t ,t h a ti st h ej 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 ( j 2 m e ) p r o v i d e st h ed e v e l o p e r sg r e a t t o o l s ,t h a ti tt r a n s p l a n t st h ec h a r a c t e r i s t i c so ft h ec e n t r a l i z e d n e t w o r ka n dp l a t f o r ma g n o s t i c i s mo ft h ej a v at ot h el i m i t e dm e m o r i z e r a n dl i m i t e dp r o c e s s o rd e v i c e t h es u nd e f i n e st h ej 2 m ea s :ak i n do f h i g h l yo p t i m i z e dj a v ar u ne n v i r o n m e n t ,a i m i n ga tt h ec o m p r e h e n s i v e c o n s u m p t i v ep r o d u c t s a f t e rt h ea n n o u n c e m e n ti nt h ej a v ao n ed e v e l o p e r c o n f e r e n c e1 9 9 9 6 。t h ej 2 m eh a se n t e r e di n t ot h em i n i t y p ef a c i l i t y d e v e l o p i n g f i r s t l y ,t h ep a p e ri n t r o d u c e st h et e c h n o l o g i e so fj a v as u c ha sj 2 e e , j 2 s ea n dj e m e , e s p e c i a l l yt h es y s t e ms t r u c t u r eo ft h ej 2 m ea n dt h eb a s i c c o n c e p t s :c o n n e c t e dl i m i t e dd e v i c ec o n f i g u r a t i o n ( c l d c ) ,c o n n e c t e d d e v i c ec o n f i g u r a t i o n ( c d c ) 。a sw e l la st h e c o r r e s p o n d i n gv i r t u a l m a c h i n e s :c ( cv i r t u a lm a c h i n e ) a n dk v m ( kv i r t u a lm a c h i n e ) b e s i d e s i tg i v e sd e t a il e dd i s c r i m i n a t i o nt ot h en o n d e s c r i p tc o n f i g u r a t i o n sa n d 蛐川人学懒i 学位论文 p r o f i l e s ,m a i n l yf o c u s i n g o nt h em i d p ( m o b i l ei n f o r m a t i o nd e v i c e s p r o f i l e ) t h ew r i t e rh a sd o n es o m er e s e a r c ho nt h ei n s u f f i c i e n c yo ft h e a p if u n c t i o n sd e f in e db yt h ep r o f il ei nt h ef a c t u a la p p lic a t i o n , r e i n f o r c e dt h ef u n c t i o nb yad e v e l o p i n ge n g i n ea n dp r e d i g e s t e dt h e a c t u a l a p p li c a ti o na n dd e v e l o p m e n t t h ew o r k sa r em a i n l ya i m i n ga tt h em o b il e d e v i c e s ,h o w e v e r ,t h i sk i n do fd e v i c e sa r er e s o u r c e s1 i m i t e d ,t h a tt h e y s t r i c t l yr e s t r i c tt h es i z eo ft h ec o d e s t h ep a p e rm a i n l yw o r k so nt h e i n t e r f a c ea n dt h e n e t w o r k 。e s p e c i a ll y t h ei n t e r f a c e t h ew r i t e r d e v e l o p e ds e v e r a lc o b m l o ni n t e r f a c ec o n t r o l sa sb u t t o na n dl a b e l w h i c h t h em i d pd o e s n tp r o v i d e i na d d i t i o n 。i tg r e a t l ys t r e n g t h e n e dt h e p r o c e s s i n ga b i l i t yo ft h ep i c t u r e si n c l u d i n gc u t t i n ga n dc a r t o o n t ot h e d a t ar e a d i n g ,i td e v e l o p st h ec o r r e l a t i v ea s s i s t a n tc l a s s t h es e to f t h ee n g i n ec a l lb r i n gg r e a tc o n v e n i e n c et ot h ea c t u a la p p l i c a t i o na n d d e v e l o p i n g ,a n dg r e a t l yp r e d i g e s t t h e c o m p l e x i t y a f t e ra l lt h e d e v e l o p m e n t ,c o m p i l a t i o n ,c o n f u s i o na n dp a c k a g e ,t h ec o d ei sa b o u t2 0 k , w h i c hc a nf u i f i l lt h ed e m a n do ft h ea c t u a la p p l i c a t i o na n dd e v e l o p m e n t a l t h o u g ht h ed e v e l o p m e n tm a i n l ya i m sa tt h em o b i l ed e v i c e ,a c t u a l l y , i tc a nb ea p p l i e dt ot h ew h o l ej 2 m ea f t e rs o f t i em o d i f i c a t i o nt os o m ep a r t s k e y w o r d s : c l d c ,c d c ,m i d p ,c a n v a s ,p a i n t ,c l i p 。a n i m a t i o n 州川j 、学坝i 学位论文 l 综述 在2 0 世纪8 0 年代末和9 0 年代纫,使用面向对象编程的c + + 语言占主导地 位,因为c + + 有面向对象的特征,义有c 语言高效和格式上的优点,因此它是 一种可以被广泛应用的编程语言然而,就像过去一样,推动计算机语言进化 的力量正在酝酿,在随后的几年里,万维网( v n v w ) 和i n t e r n e t 达到i 临界状态, 这个事件促成编程的另一场革命。j a v a 由此应运而生。 j a v a 是由j a m e s g o s l i n g ,p a t r i c k n a u g h t o n ,c h r i s w a r t h e d f r a n k 和m i k e s h e r i d a n 于1 9 9 1 年在s u nm i c r o s y s t e m s 公司设计出来的,经过许多人对j a v a 的设计和改进,1 9 9 5 年春天,s u nm i c r o s y s t e m 公司公开发布了j a v a 语言。 j a v a 的最初推动力并不是因特网,而是源于对独立于平台( 也就是体系结 构中立) 语言的需要,这种语言可创建能够嵌入微波炉,遥控器等各种家用电器 设备的软件。用作控制器的c p u 芯片是多种多样的,但c 和c + + 以及其他绝 大多数语言的缺点是只能对特定目杯进行编译,尽管为任何类型的c p u 芯片编 译c + + 程序是可行的,但这样做需要一个完整的以该c p u 为目标的c + + 编译 器,这样一来代价巨大。因此需要一种简单,经济的解决方案,以此为目标, 6 0 s l i n g 和其他人开始致力予开发一种可移植,跨平台的语言,该语言能够生 成运行于不同环境,不同c p u 芯片上的代码,而他们的努力最终促成了j a v a 语 言的诞生。 而在j a v a 的一些细节被设计出来的同时,第二个也是最重要的因素出现了, 该因素对j a v a 的发展起着至关重要的作用,这个因素当然是万维网( w w w ) 如 果万维网( w w w ) 的成型和j a v a 的实现不是同时发生的话,那么j a v a 可能保持 它有用,但默默无闻的用于电子消费品编程语言的状态。然而,随着万维网( v a v w ) 的出现,j a v a 语言被推到计算机语言设计的最前沿,因为万维网也需要可移植 的程序 j a v a 魔力在于字节码( b y t e c o d e ) ,j a v a 变压器的输出并不是可执行的代码, 而是字节码( b y t e c o d e ) 字节码是一套设计用来在j a v a 运行时系统下执行的 高度优化的指令集,该j a v a 运行时系统称为j a v a 虚拟机( j a v av i r t u a l 觚a c h i n e 。j ) 。在其标准形式下,j 州就是一个字节码解释器。将一个j a v a w l l q 人学矽i 。学位硷文 程序翻译成字节码,有助于它殳容易地一个大范围的环境下运行程序。原因非 常直接:只要在各种平台上都实现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 的常用语, 包括下面几个: 简单( s i m p l e ) 安全( s e e u r e ) 一可移植( p r o t a b l e ) 面向对象( o h j e e t o r i e n t e d ) 一健壮( r o b u s t ) 。 一多线程( m u l t i t h r e a d e d ) 。 一体系结构中立( a r c h i t e c t u r e n e u t r a l ) 。 解释执行( i n t e r p r e t e d ) 。 - 高性能( h i g hp e r f o r r a a n c e ) 。 一分布式( d i s t r i b u t e d ) 。 动态( d y n a m i c ) 。 j a v a 的堆是一个运行时数据区,类的实例( 对象) 从中分配空问j a v a 虚拟 机的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过 n e w ,n e w a r r a y 、a n e w a r r a y 和m u l t i a n e w a r r a y 等指令建立,但是它们不需要 程序代码来显式地释放。一般来说,堆的是由垃圾回收来负责的,尽管j v m 规 范并不要求特殊的垃圾回收技术,甚至根本就不需要垃圾回收,但是由于内存 的有限性,删在实现的时候都有一个由垃圾回收所管理的堆垃圾回收是一 种动态存储管理技术,它自动地释放不再被程序引用的对象,按照特定的垃圾 收集算法来实现资源自动回收的功能 在c + + 中,对象所占的内存在程序结束运行之前一直被占用,在明确释放 之前不能分配给其它对象;丽在j a v a 中,当没有对象引用指向原先分配给某个 对象的内存时,该内存便成为垃圾。j v m 的一个系统级线程会自动释放该内存 块。垃圾收集意味着程序不再需要的对象是。无用信息,这些信息将被丢弃。 2 川人学坝卜肇位论文 当一个对象不再被引用的时候,内存叫收它占领的空间,以便空制被后来的新 对象使用。事实上,除了释放没用的对象,垃圾收集也可以清除内存记录碎片 由于创建对象和垃圾收集器释放丢弃对象所占的内存空间,内存会出现碎片 碎片是分配给对象的内存块之问的空闲内存洞。碎片整理将所占用的堆内存移 到堆的一端,j v m 将整理出的内存分配给新的对象。 垃圾收集能自动释放内存空间,减轻编程的负担。这使j a v a 虚拟机具有 一些优点。首先,它能使编程效率提高。在没有垃圾收集机制的时候。可能要 花许多时间来解决一个难懂的存储器问题。在用j a v a 语占编程的时候,靠垃圾 收集机制可大大缩短时间。其次是它保护程序的完整性,垃圾收集是j a v a 语言 安全性策略的一个重要部份 垃圾收集的一个潜在的缺点是它的开销影响程序性能j a v a 虚拟机必须追 踪运行程序中有用的对象,而且最终释放没用的对象。这一个过程需要花费处 理器的时间其次垃圾收集算法的不完备性,早先采用的某些垃圾收集算法就 不能保证1 0 0 9 6 收集到所有的废弃内存当然随着垃圾收集算法的不断改进以及 软硬件运行效率的不断提升,这些问题都可以迎刃而解。 作为最初只为消费电子产品提供统一开发平台而设计的语言,j a v a 在各种 外界力量的推动下,已经被推到计算机语言设计的最前沿到目前为止,j a v a 已经发展为3 大系列,分别针对不同的平台和应用: 1 s t a n d a r de d i t i o n c l 2 s e ,标准版) :针对桌面端p c 和工作站的个人和低 端商务应用。 2 e n t e r p r i s ee d i t i o n0 2 e e ,企业版) :针对服务器端企业级应用,支持 s e r v l e t s 。j s p 和x m l 等等 3 m i c r oe d i t i o n 0 2 m e ,袖珍版,也有翻译为小型版或者移动版的。) 针对 有限内存,显示和处理能力的设备,主要是消费电子和嵌入式设备领域 ( 这实际正是j a v a 语言设计最初的目标领域) 下图是这3 个系列的关系图: 州川人学坝t 学化论文 7 f ,io v l l i w k ;i 叶 。 j 2 m e f m 1 【 轴| i j lo t h e rl l, j 2 e ej 2 s e ( f o u n d a t i o n 【m i d p c d c ) c l d c 、 j v m , c 】【k y m 】 图1 - - 1 :j 2 e e ,j 2 s e 。j 2 m e 关系图 作为j a v a 最初设计的初衷,j a v a2 平台袖珍版( j a v a2p l a t f o r m 。m i c r o e d i t i o n ( j 2 m e ) ) 为消费电子产品软件开发者提供了伟大的工具,它把j a v a 平 台的以网络为中心和平台不可知论的特性移植到有限存储器和有限处理器的设 备我们且看看s u n 公司对j 2 m e ( j a v a2m i c r oe d i t i o n ,j a v a 微型版) 的定 义:“一种以广泛的消费性产品为目标的。高度优化的j a v a 运行环境”自从 1 9 9 9 年6 月在j a v a o n ed e v e l o p e rc o n f e r e n c e 上声明之后,j 2 m e 进入了小型 设备开发的行列。 下面分别叙述一下j a v a 这3 个技术标准的应用,而j 2 m e 是本文的研究重点, 所有后文对其进行详细说明: j 2 s e : j 2 s e 包含那些构成j a v a 语言核心的类,主要用于桌面应用软件的编程。 比如:数据库连接、接口定义、输入输出、网络编程,界面等笼统的讲, 可以这样理解:j 2 s e 是基础;压缩一点,再增加一些c l d c 等方面的特性就 是j 2 m e :扩充一点,再增加一些e j b 等企业应用方面的特性就是j 2 e e 。到 目前为止,s u n 公司推出的最新j d k 版本为5 0 。j 2 s e 覆盖的范围包括:网 络,数据库,界面等方面,是一个很庞大的体系结构。 4 州川人擘帧i :学位论j j 2 e e : 从整体上讲,j 2 e e 是使用j a v a 技术丌发企业级应用的一种事实上的工 业杯准( s u n 公司出于其自身利益的考虑,至今没有将j a v a 及其相关技术纳 入标准化组织的体系) ,它是j a v a 技术不断适应和促进企业级应用过程中 的产物目前,j a v a 平台有三个版本:适用于小型设备和智能卡的j 2 m e ( j a v a 2p l a t f o r mm i c r ob d i t i o n ) 、适用于桌面系统的j 2 s e 和适用于企业级应 用的j 2 e e 。s u n 推出j 2 e e 的目的是为了克服传统c l i e n t s e r v e r 模式的弊 病,迎合b r o w s e r s e r v e r 架构的潮流,为应用j a v a 技术开发服务器端应 用提供一个平台独立的、可移植的,多用户的,安全的和基于标准的企业 级平台,从而简化企业应用的开发、管理和部署j 2 e e 是一个标准,而不 是一个现成的产品各个平台开发商按照j 2 e e 规范分别开发了不同的j 2 e e 应用服务器,j 2 e e 应用服务器是j 2 e e 企业级应用的部署平台由于它们都 遵循了j 2 e e 规范,因此,使用j 2 e e 技术开发的企业级应用可以部署在各 种j 2 e e 应用服务器上 为了推广并规范化使用j 2 e e 架构企业级应用的体系架构,s u n 同时给 出了一个建议性的j 2 e e 应用设计模型:j 2 e eb l u e p r i n t s 。j 2 e eb l u e p r i n t s 提供了实施j 2 e e 企业级应用的体系架构、设计模式和相关的代码,通过应 用j 2 e eb l u e p r i n t s 所描述的体系模型,能够部分简化架构企业级应用这 项复杂的工作j 2 e eb l u e p r i n t s 是开发人员设计和优化j 2 e e 组件的基本 原则,同时为围绕开发工作进行职能分工给出了指导性策略,以帮助应用 开发设计人员合理地分配技术资源 j 2 m e : 今天计算已经无处不在各种消费电子产品,包括智能手机,p d a , b - ,信息家电等等实现了随时随地得计算这是一个异常广阔和丰 富多彩的领域,其设备极度多样化而且都将在网络中 , j a v a2 平台袖珍版( j a v a2p l a t f o r m , m i c r oe d i t i o n ( j 2 燧) ) 为开发者提供了伟大的工具,它把j a v a 平台的以网络为中心和平台不 可知论的特性移植到有限存储器和有限处理器的设备我们且看看s u n 公司对j 2 m e ( j a v a2m i c r oe d i t i o n ,j a v a 微型版) 的定义:“一种以 5 心川人学颅i 学岔论史 广泛的消费性产品为1 1 标的,高度优化的j a v a 运行环境”自从1 9 9 9 年6 月在j a y a o n ed e v e l o p e rc o n f e r e n c e 上声明之后,j 2 腿进入了小 型设各开发的行列。 在当今消费电子和嵌入式设备领域,内存从几百k 到几十m ,从没有 屏幕到w e b _ t v ,c p u 从低功耗的嵌入式处理器到2 0 6 m h z 的r i s c 处理器, 硬件条件的差异是相当大的。这就使得j 2 m e 的标准需要有不同的层次 和类别来适应这个复杂的领域,因此相比之下j 2 m e 就比j 2 s e 和j 2 e e 的标准要复杂得多尤其是因为硬件发展速度是很快的,很有可能一段 时问之后,如果还按最初标准的字面定义区划分设备就会陷于迷惘 1 1 移动信息设备的主要操作系统平台及其对j 2 m e 的支持 在消费电子和嵌入式设备的广阔领域中,目前最受关注的是移动信息设备, 因此有必要介绍一下移动信息设备的主要操作系统平台,这对j 2 m e 的开发是 相当重要的。移动信息设备主要包括p d a 和智能手机,现在和将来都还会有一 部分设备处于p d a 和智能手机交界的位置。其中手机的市场远比p d a 要大得 多,所以许多国外谈到j 2 m e 的文章都是以w i r e l e s s 应用为主 p d a 也即掌上电脑,一般是指类似于p a l m 公司出品的p a l m 这样的设备,主要 的操作系统有p a l mo s 和p o c k e tc 两大阵营p a l mo s 来自p a l m 公司,是一个 开放的系统,在p d a 市场上占主导地位,已经有非常多的第三方厂商开发的应 用和一大批非常忠实和狂热的用户。目前采用p a l mo s 的主要有p a l m 公司的 p a l m 系列和s o n y 公司的c l i o 系列( h a n d s p r i n g 公司的v i s o r 也属于这类产品, 但是已经宣布退出传统p d a 市场,主要发展p d a 和无线通讯结合的产品t r c o ) 。 p o c k e tp c 是微软及其合作伙伴c a s i o 、c o m p a q 、h e w l c t tp a c k a r d 和s y m b o l 推出的,基于w i nc e3 0 ,也是一个开放的标准系统,功能可以扩展( 以往的 w i nc e 是一个封闭的不可扩展的系统) ,在这个平台上厂商可以自己开发软件 具体产品如c o m p a q 的i p a q 。 另外,s h a r p 公司z a u m s 系列p d a 采用l i n u x 的一个针对嵌入式系统的版 6 州川人学鳓 学位论文 本。作为拥有高达6 4 m 内存的高端p d a ,可以满足c d c 的标准,预装了p e r s o n a l j a v a 的虚拟机。 在智能手机领域,主要的平台是s y m b i a n 的e p o c e p o c 最早由p s i o n 开 发,主要面向智能手机,也有p d a 的特征,p s i o n 就是第一批主要的p d a 厂商 之一p s i o n 宣布e p o c 的第一个版本是开放的o s ,并向其它厂商授权,随后 p s i o n 与e r i c s s o n ,n o m a ,及稍后的m o t o r o l a 建立了名为”s y m b i a n ”的联盟,目前 主要股东为m o t o r o l a , n d l 【i a ,p a n a s o n i c , p s i o n 和s o n y e r i c s s o n ,而且s i e m e n s 4 月也宣布加入s y m b i a n 在欧洲有很好的基础,为大多数主要手机厂商所采用, 典型的产品如n o r k i a 的9 2 1 0 s y m b i a n 向领先的软硬件开发商开放源代码一所谓的p l a t i n u mp r o g r a m m e 从s y m b i a no s5 起开始支持j a v a ,o s6 引入了p e r s o n a lj a v a 和j a v ap h o n e ( 在 p e r s o n a lj a v a 基础上的一个扩展a p i ,主要针对手机) ,o s7 开始支持c l d c 和 m i d p ( 部分基于6 0 和6 1 的产品也支持) 。 另一方面,微软则有p o c k e t p c2 0 0 2 电话版和s m a r t p h o n e2 0 0 2 ( 又称s t i n g e r ) 与s y m b i a n 竞争,显然,前者是有无线通信功能的p d a ( 前面提到的h a n d s p r i n g 新推出的t r c o 就是这类产品的典型) ,后者是有智能处理功能的手机 1 2 移动信息设备上j 2 皿开发的现状和前景 在前面提到的这些操作系统平台中,p a l m0 s 上已经有了m i d p 的参考实现, 但是并不是最适合p d a 的p r o f i l e s y m b i a n 实现了c l d c 和m i d p ,作为智能手 机的操作系统,是理想的m i d p 应用平台在c o m p a q 的i p a q 上已经实现了c d c ( 基于p o c k e tp c ) ,另外前面提到过,i b m 的w e b s p h e r em i c r oe n v i r o n m e n t 在p o c k e tp c 上实现了c l d c ,c d c 和m i d p 。s h a r p 的z a u r u s 实现了p e r s o n a lj a v a ( 基于l i n u x ) 可以看到,在硬件条件较好的p d a 上( p o c k e tp c 和z a u r u s 都 使用i n t e la r mc p u ,比p a l m 使用的m o t o r o l a1 ) r a g o n b a l l 系列性能要高得多) 都可以实现c d c 的标准由于这些主要操作系统平台都是开放的,基本可以相 信,主要的移动信息设备操作系统都将一直提供j 2 m e 的支持,但是具体支持哪 7 州川人学舰l 学位论文 个标准则并不一定死板地按照c l d c 和e d c 的最初定义,和设备的硬件条件和厂 商的选择有关,或者可能同时实现多个杯准。 关于移动信息设备上j 2 m e 应用的具体丌发,现有的文章和技术基本分为以 下几类: 1 采用早期的k v m 和c o i l s t i f f k j a v a 包,或者加上第三方的ka w t 类库 有很多早期的文章和代码,但是这一技术将被p d ap r o f il e 取代,而且不保证 兼容性,不建议开发者采用这一方法,而是等待p d ap r o f i l e 的最后完成及其 实现 2 采用c l d c 和m i d p 开发由于m i d p 标准发布较早,智能手机的市场也 远比p d a 大得多,这是目前大量的无线应用文章的主要内容,不过它最适合的 目标是智能手机,虽然智能手机可能有一定的p d a 的功能,但是这一技术并不 是最适合p d a 的,开发者需要考虑清楚。 3 采用c d c 和p e r s o n a lp r o f i l e ,目前高端的p d a 和智能手机可以支持。 但市面覆盖估计不大 在移动信息设备上开发j 2 m e 应用的前景非常美好: a :硬件的发展:随着硬件的飞速发现,原来的很多约束随着消失,在移动 信息设备上有了更快的处理器,更大的内存,从而使j 2 m e 的应用开发范围 更广阔。 b :平台的广泛性:移动信息设备的主要操作系统平台都是开放的,j 2 m e 的 标准也是开放的,因此基本上所有的主要操作系统平台都支持或将支持 j 2 m e ,这带来的广阔市场( 智能手机的市场尤其巨大,现在新的手机大部 分都支持m i d p ) 和真正的一次编写,到处运行是任何其他技术无法比拟 的对于开发者而言,可以不受操作系统的限制,不用担心在这个多变的 市场上因平台的变化而影响自己的应用。 c :开发的方便性:j 2 m e 虽然和j 2 s e 有着许多不同,但仍然属于j a v a 技术, 具有j a v a 方便开发的优点,也使得j a v a 程序员学习移动信息设备开发没 有太大困难( 事实上,开发j 2 跹应用的主要困难不在于具体编码,而在于 标准的复杂性) 。 8 州川人学硕i 。学位论文 1 3 j 2 m e 体系结构中的配置介绍 针对消费电子和嵌入式设备领域丰富多样的设备和彼此相差极大的计算能 力及各种硬件条件,j 2 m e 首先根扔:最基本的一些特征把它们划分为两类: 1 具备间断网络通讯能力的个人移动信息设备:如手机,双向呼机,p d a ( p e r s o n a ld i g i t a la s s i s t a n t ,个人数字助理,也称掌上电脑) 等等。 2 有固定的不问断网络连接的共享连接信息设备:如置顶盒( s e t t o p b o x e s ) ,w e b t v ,支持i n t e r n e t 的有屏幕电话,汽车娱乐导航系统等等。 j 2 m e 为这两类设备提供了对应的两种配置( c o n f i g u r a t i o n ) ,每个配置为 一组通用设备提供最小的j a v a 平台,通过j a v a 规范定义的这两种配置是 c o n n e c t e dd e v i c ec o n f i g u r a t i o n ( 连接设备配置c d c ) 和c o n n e c t e dl i m i t e d d e v i c ec o n f i g u r a t i o n ( 有限连接设备配置,c l d c ) ,c o n f i g u r a t i o n 包括虚 拟机( v i r t u a lm a c h i n e ) ,核心的类库与a p i c o n f i g u r a t i o n 层定义一个j a v a 虚拟机的特性与j a v a 类库的最小子集。也就是说,c o n f i g u r a t i o n 层提供了开 发人员一个最基础,最核心的j a v a 平台。这两种配置分别对应两类虚拟机: c ( cv i r t u a lm a c h i n e ,c 虚拟机) 和k v m ( kv i r t u a lm a c h i n e ,k 虚拟机) 。k v m 和c v m 都可被看作一种j a v a 虚拟机( j a v a 程序是以边解释边执行的方式运行 的,所有的j a v a 程序都会被编译成二迸制代码并运行在j a v a 虚拟机上, j 2 e e ,j 2 s e 中的j a v a 虚拟机称j v u ) ,并且是j v m 的子集,在功能上都是j 的 缩减版,而c 的功能比k v m 的功能更为强大,下面分掰对这两种配置进行介 绍。 1 3 1j 2 舾配置之c l d c c l d c 是为使用较小的存储容量的设备设计的,主要是移动手持设备例如 智能手机,双向呼机,p d a 等等,其要求是: 1 5 1 2 k b 以下内存 2 有限能源供应( 通常使用电池) 9 蚪川j 、宁硕i 学位论文 3 有限或者非持续网络连接。 4 简单的用户界面( 甚至没有) 。 在如此严格的限制之下,c l d c 只包括四个包,其中三个来t l 标准j a v a 规范并 且作了缩减另一个专门针对c l d c 设计的通用连接框架: a j a v a 1 a n g 一- - j a v a 编程语言的基本类; b j a v a u t i l 一一集合、日期和时间支持、各式实用工具类: c j a v a i o - - 一系统输入输出: d j a v a x m i c r o e d i t i o n 一一通用连接框架( g e n e r i cc o n n e c t i o n f r a m e w o r k ) c l d c 必须照顾最苛刻的硬件条件,因此去掉了许多重要的类和特征,只保 留了最核心的一些基本类例如蹦i 和映射因需要内存太多而被舍弃,错误处 理要求的代价太高,也被删除了许多设备不能支持浮点数,更不用说双精度 类了还有许多设备没有或不提供访问一个文件系统的功能或权限。不过请放 心,对于那些能够支持更多特征的设备,它们所需要的这些功能或者超出标准 j 2 s e 要求的功能,都可以由针对此类设备的p r o f i l e 来补充。 c l d c 中唯一新增的j a v a x m i c r o e d i t i o n 包定义了一个通用连接框架 ( g e n e r i cc o n n e c t i o nf r a m e w o r k ,g c f ) 。通用连接框架把j 2 s e 中的文件, s o c k e t s ,h t t p 请求和其他输入输出机制的概念抽象为更简单的一套类可 以说,它提供了j a v a i o 和j a v a n e t 的同样功能,却不需要设备的特殊能力。 与底层操作系统无关是c o n f i g u r a t i o n 的基本要求通用连接框架可以看成是 构造通讯驱动的框架,这一点类似于j 2 s e 中的j d b c ,后者是一个构造数据库 驱动的框架。通用连接框架并没有定义对任何特定协议的支持,但是在s u n 的 一个c l d c 参考实现中确实包括了对一些通讯协议的支持,这点使许多人感到困 惑。那些协议只是一些例子,协议的支持应该在p r o f i l e 层或者专门针对某设 备的扩展中定义。 s u n 公司t l 推出c l d c l 0 标准后,又推出了c l d c l 1 标准,c l d c i 0 是针对 计算能力非常有限的设备定义的,只支持整数运算,不支持浮点运算,早期的 j a v a 手机大部分都支持c l d c l 0 ,如n o k i a3 6 5 0 ,s i e m e n s6 6 8 8 i 。c l o c l 1 则 增加了浮点运算,因此,在支持c l d c i 1 的设备上,可以使用f l o a t 和d o u b l e 1 0 州j 1 1 人学颀i 。学p 论上 类型的变量。现在的j a v a 手机很多都能支持c i o c l 1 ,如n o k i a9 5 0 0 ,s i e m e n s $ 6 5 由于虚拟机处于c o n f i g u r a t i o n 中定义平台的核心,c o n f i g u r a t i o n 和

温馨提示

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

评论

0/150

提交评论