(计算机应用技术专业论文)基于j2me的航空订票系统建模与实现.pdf_第1页
(计算机应用技术专业论文)基于j2me的航空订票系统建模与实现.pdf_第2页
(计算机应用技术专业论文)基于j2me的航空订票系统建模与实现.pdf_第3页
(计算机应用技术专业论文)基于j2me的航空订票系统建模与实现.pdf_第4页
(计算机应用技术专业论文)基于j2me的航空订票系统建模与实现.pdf_第5页
已阅读5页,还剩81页未读 继续免费阅读

(计算机应用技术专业论文)基于j2me的航空订票系统建模与实现.pdf.pdf 免费下载

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

文档简介

基于j 2 m e 的航空订票系统建模与实现 计算机应用 研究生:童铭指导教师:李志蜀 随着j a v a 技术向无线领域的逐步深入,基于j 2 m e 平台的手机应用系统 解决方案以其小巧便捷的特性的和无可替代的跨平台优势,逐渐成为移动应 用的主导另一方面,随着手机网络能力的不断增强,越来越多的应用系统 开始在手机上寻求增值服务。本论文根据航空订票流程的现状,提出一种通 过手机完成机票查询、订票、退票全过程的模型。按照基于u m l 的统一软件 过程开发流程,遵循面向对象设计思想以及需求分析、总体规划、细节设计、 质量评估、模型实现的设计规范,以用例为驱动,以基本架构为中心,对系 统进行可视化建模,通过对现实系统的分析、分解、模拟、评估和重现,设 计出一种基于j 2 m e 平台的手机客户端、基于s e r v l e t 的服务器端以及后台数 据库的三层解决框架j 同时,从用例建模、静态结构、动态行为、实现结构 几个视角,通过u m l 用例图、类图、协作图、状态图、部署图、包图等分析 并展现系统总体框架和具体类、组件的结构、协作关系和调用原理,比较得 出手机与服务器的通信方式,完成手机客户端交互界面的设计、服务器端核 心请求的处理以及数据库的建立和对数据库的同步更新,同时对设计模型的 完整性、正确性、一致性及合理性进行多角度的符合软件建模规范的质量评 估,依据手机应用程序的特殊性,有针对性的进行资源与性能的平衡设计, 并在w i n d o w s x p 及w i r e l e s st o o l k i t 模拟环境下完成该模型的一种实现。航空 订票系统框架的建立,严格遵循基于u m l 的统一软件模型构建和开发过程, 为手机程序的此类型应用提供了完备的理论基础和清晰的设计流程,为迸一 步研究和完善移动应用解决方案提供可行的参考和模型 关键词:j 2 m e ,u m l ,订票系统,建模,m i d l e t ,s e r v l e t m o d e f i n g a n d i m p l e m e n t o fa i r f i n er e s e r v a t i o n s y s t e mb a s e do nj 2 m e p o s t g r a d u a t e :t o n g m i n g a d v i s o r :l iz h i s h u a sj a v a h a sb e e nd e e p l yi n t ot h ew i r e l e s sf i e nt h em o b i l ea p p l i c a t i o ns y s t e m b a s e do nt h ej 2 m eh a sg r a d u a l l yd o m i n a t e dt h ef i e l do fm o b i l ea p p l i c a t i o n b e c :a :t l s eo f i t sc o n v e n i e n tp r o p e r t i e sa n di t si r r e p l a c e a b l et r a n s - p l a f f o r ma d v a n t a g e i na d d i t i o n , a st h en e t w o r ka b i l i t yo fm o b i l ed e v i c e h a sb e e n s t r e n g t h e n e d , c o n s t a n t l y , m o r ea n dm o r ea p p l i c a t i o ns y s t e m sa l es t e p p i n gi n t ot h ei n c r e m e n t s e r v i c e s t h i sp a p e rp r e s e n t sam o d e lr e a l i z e db ym o b i l e ,c o v e r i n ga l lt h es t a g e so f a i rt i c k e t sr e s e r v a t i o ni n c l u d i n gq u e r y , r e s e r v a t i o na n dw i t h d r a w i n g a c c o r d i n gt o t h ef l o wo fr u pb a s e do nu m l ,c o m p l i e d 稍mt h ep r i n c i p l e so fo o d ,a t h r e e - l a y e rr e s o l u t i o ns y s t e mi sd e i g n e df o l l o w e dt h ep r o c e s so fr e q u i r e m e n t a n a l y s i s ,g e n e r a lc o n c e i v i n g ,d e t a i ld e s i g n , q u a l i t y e v a l u a t i o na n dm o d e l i m p l e m e n t a t i o n r h r o u o at h ea n a l y s i s ,d e c o m p o s i t i o n , s i m u l a t i o n , e v a l u a t i o na n d r e a p p e a r a n c eo ft h er e a l i s t i cr e s e r v a t i o ns y s t e m , t h i sa p p l i c a t i o ni sm o d e l e da n d e s t a b l i s h e dv i at h em e t h o do fu s e c a s ed r i v e na n df o c u s i n go nt h ef o u n d a t i o n a l s k e l e t o n , c o n s i s t i n go f m o b i l ec l i e n tb a s e do nt h ej 2 m ep l a t f o r m , s e r v e rb a s e d0 1 1 s e r v l e ta n db a c k g r o u n dd a t a b a s e f r o mt h ev i s u a la n g l eo fs t a t i c :s t n l c t u r e , d y n a m i c 姚v i o ra n dr e a l i z a t i o nd e p l o y m c n l , i nv i r t u eo f u s e c a s ed i a g r a m , c l a s s d i a g r a m , c o l l a b o r a t i o nd i a 毛魁s t a t ed i 耀触d e p o l y m e n tc u a g r a ma n dl m k a g e d i a g r a m , t h i sp a p e ra n a l y z e st h es y s t e mf r a m e w o r ka n dd e t a i l e dp r i n c i p l e so f s 仃i l c 呱c o l l a b o r a t i o na n di n v o k i n go ft h ec l a s s ;c o m p a r e st h ec o m m u n i c a t i o n m o d eb c l w c c nm o b i l ea n ds e r v e r ;f m i s h e st h ed e s i g no ft h ec l i e n ti n t e r f a c e ,t h e c o r e r e q u e s tf r o mt h eu s e r ,t h es t r o c t l l r eo f d a t a b a s ea n dt h es y n c h r o n o u su p d a t eo f 缸 t h ed a t a b a s e w h a t sm o r e ,e x t e n s i v eq u a f f t ye v a l u a t i o na c c o r d e dw i t ht h er u l eo f s o f t w a r ed e s i g np r o c e s si sm a d eo nt h em o d e lf r o mt h ep o i n to f v i e w o f i n t e g r a l i t y , c o r t g c l n e $ $ ,c o n s i s t e n c ya n dr a t i o n a l i t y ;s p e c i a le f f o r to r lt h eb a l a n c eb e t w e e n p e r f o r m a n c ea n de f f i c i e n c yi sm a d ed u et ot h ep a r t i c u l a r i t yo fm o b i l ea p p l i c a t i o n s y s t e ma n d 趾i n s t a n c ei si m p l e m e n t e di nt h es i m u l a t i v ee n v i r o n m e n to f v c m d o w s x pa n dw i r e l e s s t o o l k i t a d a p t t ot h eu n i f i c a t i o nm o d e l i n ga n d d e v e l o p m e n tp r o c e s sb a s e do nu m l 9t h i ss y s t e mh a se s t a b l i s h e dac o m p l e t e t h e o r yf o u n d a t i o na n dp l a i nd e s i g nf i g u r ef o rr i d sk i n do fm o b i l ea p p l i c a t i o na n d m a k e sv i a b l er e f e r e n c ef o rr e s e a x c h i n ga n di m p r o v i n gt h em o b i l ea p p l i c a t i o n s c h e m e s k e y w o r d s lj 2 m e , u m lr e s e r v a t i o ns y s t e m , m o d e l i n g ,m i d l e t s e r v l e t 四川大学硕士学位论文童铭:基于j 2 m e 的航空订票系统建模与实现 1 引言 自从1 9 9 5 年j a v a 语言正式推出以来,立刻成为被人们追逐的热门话题。 j a v a 与i n t e r n e t 技术的结合,使得j a v a 和i n t e r n e t 都具备快速成长的平台。随 着时间的推移,j a v a 技术日趋成熟,它逐渐变得更加稳定,可靠性能也有了较 大的提高。其纯粹的面向对象的特性,使得软件的设计与现实世界中的原型更 为贴近,反过来,其程序也能更为广泛的服务于现实生活的方方面面。同时, 随着互联网技术的迅速发展,不同系统下的计算机间信息的传输变得愈发普遍 和重要,而j a v a 天生具备平台无关性,其强大的网络编程功能和多线程机制成 为实现网络多用户通信的首选。 在软件开发过程方面,随着对软件要求的提高,软件的开发过程不再无章 可循,完备的开发流程和先进的开发方法将极大提高软件的质量。从毫无管理 的纯粹代码编写到软件工程再到统一软件过程,在软件开发的生命周期中,越 来越多的因素被关注和被组织,一个软件的产生,逐渐成为集开发、支持、管 理等于一体复杂过程。这个过程需要方法论来指导,r u p ( r a t i o n a lu n i f i e d p r o c e s s ) r p 是一个面向对象的基于网络的软件开发方法论。作为一个理论引导 者,它可以为所有方面和层次的程序开发提供指导方针、模版以及事例支持, 把开发过程的实践和开发的组件整合在一个统一的框架内。 统一软件过程以u m l 作为低层可视化建模语法,表达软件生命周期中的 核心元素、工作流、场景和模型,建模在软件开发中占据越来越重要的地位。 u m l 是在多种面向对象建模方法的基础上发展起来的建模语言,用于软件密集 型系统的建模。在多种面向对象建模方法流派并存和相互竞争的局面中,u m l 树起了统一的旗帜,使不同厂商开发的系统模型能够基于共同的概念,使用相 同的表示法,呈现彼此一致的模型风格它从多种方法中吸收大量的建模概念, 使它的概念和表示法在规模上超过了以往任何一种方法。 2 0 0 0 年以后,随着网络环境的改善,和网络系统要求的不断提高,越来越 多的开发人员致力于编写分布式的,事务型的企业及应用程序,以及平衡速度、 安全及服务器方可靠度的技术。在快速变换需求的电子商务及信息技术的世界 里,企业应用需要设计、编译、产生低价位的、高速的、占用少量资源的程序。 人们逐渐发现用j a v a 开发e j b 能完全胜任商业要求,j s p 开发w e b 系统也比以 往的w e bp a g e 更强大,同时,由于建模工具的成熟,分布式开发划分越来越细 1 四川大学硕士学位论文童铭;基于j 2 m e 的航空订票系统建模与实现 致,模块越来越清晰,而开发流程越来越标准化,周期越来越短。j a v a 因此开 始向服务器端移动,作为连接客户机、数据库应用服务器之间的中间件,展现 出其跨平台、多线程、连网能力强大、类库丰富这些特有的魅力。j a v a 构建的 企业应用平台提供了基于组件的设计方法,多层分布式应用模式,并集成了基 于x m l 的数据交换,在快速跟踪企业应用的设计和开发,缩减开发成本,快 速、高效集成、部署应用程序等方面都体现出不可比拟的优势。 现在,随着越来越多的手机和个人数字助理开始融入到信息高速公路之上, j a v a 开始重新进入嵌入式系统,并逐渐成为既定的标准。j a v a 以其“w 血eo n c e , r u na n y w h e r e ”的特性,统一起各种移动设备平台,在效率、性能、复用性之 间建立起平衡【n 。与其它版本一样,j 2 m e 拥有j a v a 技术本身的各种特点:在 各种产品之间、在任何时间、任何地点、通过任何设备都能保持内在的一致性, 代码具有良好的可移植性,网络传递安全可靠,其应用程序可升级,可扩展, 可运行在所有的j a v a 平台随着商业应用越来越多的从移动设备上访问w e b 服务器,只有实现移动设备与非移动设备互相通信的功能后,移动设备应用程 序才可以发挥更广泛的作用。j a v a 以其自身的特点和优势,满足着多元化应用 类型的要求,在移动设备应用领域大行其道。 事实上,j a v a 本来就是为了开发数字家电而被研发的,经过不断的变迁, 在不同领域的发展和演进,由d e v i c e 到d e s k t o p 到s e r v e r 内部,现在j a v a 又 回到了最初的起点,正好形成一个周而复始的圆。所不同的是,在统一软件过 程理论的支持下和u m l 建模工具的协助下,j a v a 比以往的任何一个时期都更 为强大,更适合建立多种领域应用问题的解决方案。 2 四川大学硕士学位论文童铭:基于j 2 m e 的航空订票系统建模与实现 2 相关技术理论 2 1 j 2 m e 技术 2 i 1j 2 m e 平台发展现状 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 ) 是s u n 专门为小型的资源受限的消费 性电子设备的应用程序开发所提供新的j a v a 版本,它广泛的使用于移动电话、 p d a 个人数字助理以及电视机顶盒等众多小型资源受限设备中 2 1 。 科技的发展使人们相信,在今后的若干年里几乎所有的的通讯产品都将会 与互联网相连接,这将导致人们看待和使用通讯产品的方式的转变,用户的要 求将不止局限于普通的通讯,更重要的是日益增强的对信息的需求。用户可能 需要访问w e b 站点的内容,查询企业的数据库的资料以及管理个人的私人数 据,用户需要在任何时间、任何地点,以至于使用任何设备来获取信息。未来 的设备将更为人性化和用户化,而这种人性化与用户化同时也就意味着通讯设 备的应用平台必须更加多元化。对于j 2 m e 来说,由于其得天独厚的跨平台性 与良好的可移植性,使得其在设备繁多、平台异常混乱的手机与p d a 市场更显 得如鱼得水。 回顾移动电话的历史,可以发现移动电话上应用软件的发展经历了3 个阶 段。传统的移动电话通常只有通话和短消息功能,只能提供基本的语音服务。 随后随着w a p 技术的发展,移动电话增加了访问i u t e m e t 的功能,使用户可以 直接在手机上以无线方式浏览网页而w a p 采用b r o w s e r s e r v e r 方式访问 i n t e m e t 却功能有限现在的w a p 解决方案要求手机通过w a p 网关才能访问 i n t e r n e t ,并且不能显示复杂格式的图形。此外,因为现有的w a p 解决方案不 够智能,而且不能访问本地存储区j 2 m e 的出现则使上述问题迎刃而解,这 无疑极大促进了基于移动设备的新应用的推广与普及 j 2 m e 手机提供了h t i p 高级i n t e m e t 协议,使手机等移动手持设备能以 c l i e n t s e r v e r 方式直接访问i n t e r n e t 的全部信息,不同的c l i e n t 访问不同的文件, 此外还能访问本地存储区,实现交互式服务,超出了现在的基于文本的静态内 容服务。它是通过对无线设备上易用的、图形化的交互式服务的支持来运行的, 因此,采用j 2 m e 技术的手机、p d a 和其它移动设备,用户就可在交互的在线 状态下和脱机状态下下载新的服务。通过g p r s 的应用,使j a v a 技术和j 2 m e 3 四川大学硕士学位论文童铭:基于j 2 m e 的航空订票系统建模与实现 平台得以为无线网络服务带来诸多方便 j 2 m e 平台提供了一个类库,它可以使应用开发商创建更为丰富的、更直觉 的图形用户界面( g t r 0 。这就使服务提供商可以更好地提供个性化的和多样化的 应用与服务。j 2 m e 平台使网络带宽的应用更为有效。因为,应用程序可以下 载到设备上并在本地运行,这样,仅仅是在数据从服务器上下载时才用到网络 带宽【3 】。 j a v a 技术提供了跨平台的能力,并支持多种器件设备j 2 m e 和m i d p 可以 在任何被支持的系统上运行同样的应用程序。j a v a 技术为无线设备创建了一个 全新的开发平台,这一平台可跨越多种设备和多个系统平台。这样,服务提供 商也可采用来自多个制造商的不同的设备,而无需对每个设备单独进行支持。 2 1 2j 2 m e 技术细节 j 2 m e 是s u n 公司针对嵌入式、消费类电子产品推出的开发平台,与j 2 s e 和j 2 e e 共同组成j a v a 技术的三个重要的分支j 2 m e 实际上是一系列规范的 集合,由j c p 组织制定相关的j a v as p e c i f i c a t i o nr e q u e s t ( j s r ) 并发布,各个厂商 按照规范在自己的产品上进行实现,以确保兼容性。 j 2 m e 平台体系结构 j 2 m e 平台采用分层化设计,以便能良好地支持范围广泛品种诸多的消费 性电子设备以及应对不断变化渐进中的设备技术。j 2 m e 平台是由配置 ( c o n 丘g 瞄蚯o n ) 和简表口丘l e ) 构成【4 】。配置是提供给最大范围设备使用的最小类 库集合,在配置中同时包含j a v a 虚拟机。配置主要针对的是系统级的特性简 表是构建在配置层之上的一层类库,比配置具有更强的针对性,它为一系列设 备提供的开发包集合,提供配置层中所缺失的功能以支持特定的设备。这些功 能包括对u i 、持续性存储等的支持。简表层还提供了应用程序级的接口,应用 程序就建立在简表层之上。 j 2 m e 体系中顶层为可选包( o p t i o n a lp a c k a g e ) ,是针对特定设备提供的类库。 4 四川大学硕士学位论文童铭:基于j 2 m e 的航空订票系统建模与实现 j 蔓习 l 配置伽删咖) i i j 觚氏虚拟机( i j 巫司 图2 1脚体系结构框图 配置( c o n f i g u r a t i o n ) 设备的 配j f f ( c o n f i g u r a t i o n ) 为这些设备定义了一个基本的j 2 m e 运行环境, 其中包括虚拟机和核心的j a v a 类库可以把配置理解为一个针对某一族设备的 最小的j a v a 平台,其中包括满足该族设备的j a v a v m 虚拟机功能的最小子集和 针对该族设备的j a v a 类库的最小集合。 配置主要针对的是系统级的特性,如:基本的j a v a 语言的特性,虚拟机的 特性以及系统级的j a v a 核心类库等j 2 m e 中有两个最主要的配置,分别是: c o n n e c t e dl i m i t e dd e v i c e sc o n f i g u r a t i o n ( c i d c ) c o n n e c t e dd e v i c e sc o n f i g u r a t i o n ( c 1 ) c ) 他们是根据设备的硬件性能进行区分的,如处理器、内存容量等c d c 主 要面对那些家电产品,如机顶盒、汽车导航系统等,而c l d c 主要针对那些资 源非常受限的设备包括内存资源受限以及电力资源受限,如手机、p d a 、双工 寻呼机等。 根据c l d c 规范,s u n 在c l d c 参考实现了一个虚拟机- k v m ,c l d c 在其严格的内存限制下达到了对j a v a 虚拟机相当程度的兼容性。由于c l d c 专 门针对于小型设备,它对j 2 s e 类库进行了大量的简化,其类库只保留了j a v a 规范中定义的最核心的3 个包即j a v a i o ,j a v a 1 a n g 和j a v a u t i l 并重新定义了一 个新的包j a v a g m i c r o e d i t i o n i o ,用以支持通用连接框架g c f ( 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 ) 。 四川大学硕士学位论文童铭:基于1 2 m e 的航空订票系统建模与实现 简表( p r o f i l e ) 简表( p r o f i l e ) 是构建在配置层之上的一层类库,它比配置的针对性更强,它 提供配置层中所缺失的功能以支持特定的设备。简表层提供了应用程序级的接 口,应用程序就建立在简表层上。一个配置可能会有好几个简表,也就是说一 个设备可以支持多个简表。简表始终以配置为基础,例如m o b i l ei n f o r m a t i o n d e v i c e s p r o f i l e ( m i d p ) 就是c l d c 上层的简表,是目前j 2 m e 平台中发展相对最 成熟的简表。如同m i d p 的名字所描述的其针对的是移动信息设备。与配置的 纵向特性不同的是,简表是横向的。 m i d p 定义于c l d c 的上层用以提供对u i 永久存储介质( p e r s i s t e n c e s t o r a g e ) 和网络等更高层( 相对于c l d c ) 的支持,m i d p 由四个j a v a x m i e r o e d i t i o n 包 组成,这四个包分别是:j a v a x m i e r o e d i t i o n 彻s ,j a v a x m i c r o e d i t i o n m i d l e t , j a v a x m i e r o e d i f i o n i o ,j a v a x m i e r o e d i t i o n 1 e d u i 预审核机制 a d c 要求其底层的虚拟机能够辨别并拒绝非法的c l a s s 文件,但由于c l d c 本身面向小内存消耗的小型设备,这一前提使其类文件检测机制与j 2 s e 中定义 的标准类文件审核机制有所不同。c l i x :中有一步其特有的预审核过程,当程 序的源程序被编译后必须被预审核器预审核然后才能生成可以被下载到目标设 备上运行的类文件,之所以有这一步骤主要是为了减轻目标设备上虚拟机中审 核器的负担,加快其审核速度,所以把一部分的审核任务放在预审核器中完成。 这是c l d c 区别于通常的类文件审核过程的关键。在c l d c m i d p 环境下开发程 序其程序经过编译后,必须经过预审核后才能运行。 2 1 3m i d l e t 皿d 1 e t 概述 在c u ) c 和m i d p 的上层的j a v a 应用程序被称为m i d l e t 。m i d l e t 是被 a p p l i c a t i o nm a n a g e m e n ts o f t w a x e ( a m s ) 管理的,a m s 负责m i d l e t 的安装、下 载、运行和删除等操作。在被a m s 管理的同时,m i d l e t 可以和应用管理软件 6 四川大学硕士学位论文童铭:基于j 2 m b 的航空订票系统建模与实现 通信,通过方法n o t i f y d c s t r o y c d ( ) 和n o t i f y p a u s e d ( ) 通知应用管理软件自己状态 的变化。 m d l e t 结构 m i d l e t 可直接使用m i d p 本身提供的类库,以及m i d p 从c l d c 中继承的 那部分a p i 。m i d l e t 本身并不能直接访问底层设备的操作系统,并且也不可能 做到这一点除非是移植到特定设备平台上的版本。o e m 特有的应用程序可以通 过某设备厂商提供的专用的类库来获得更多额外的功能,其中有些可能访问了 底层设备的操作系统。因为k v m 不支持j n i ,要使m i d l e t 访问本地平台功能 的唯一的办法是把本地代码链接到一个客户自定义的虚拟机上 m i d l e t 的运行机制 所有m d l e t 都派生自抽象基类j a v a 】【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 p 平台为控制m i d l e t 生命期所调用的方法,m d i e t 本身用来请求改变其状 态的方法。m i d l e t 有一个默认构造函数,如果需要完成一些初始化工作,或者 如果没有显式的构造函数,那么开发人员须提供一个构造函数。m i d l e t 类的应 用程序框架如下所示: p u b l i cc l a s sm y m i d l e te x t e n d sm i d l e ti m y m i d i e t ( ) 1 1 、可选的构造函数 p r o t e c t e dv o i ds t a 以p p ) t h r o w sm d l 既s t a t e c h a n g e 瓶x 砸衄l p r 咖娥c dv o i dp a u s e a p p ( ) ) w o t e c t e dv o i dd c 砒) 蜊b 时i c 柚u n c o n d i t i o n a l ) t h r o w sm i d l e t s t a t e c h a n g e d e x e e p f i o n 1 ) m d l a 【应用程序的生命周期 m d l e t 有三个状态,分别是p a u s e 、a c t i v e 和d e s t r o y e d 。在启动一个m i d l e t 的时候,应用管理软件会新创建- - 吟 m i d l e t 实例并使得他处于p a u s e 状态,当 s t a r t a p p c ) 方法被调用时m 叫e t 进入a c t i v e 状态,即运行状态。在枷v e 状态调 7 四川大学硪士学位论文童铭:基于1 2 m e 的航空订票系统建模与实现 用d e s t r o y a p p ( ) 或者p a u s e a p p ( ) 方法可以使得m d l e t 进入d c s 缸d y e d 或者p a l l s e 状 态。事实上,当d e s t r o y a p p ( ) 方法被调用的时候,a m s 通知m i d l e t 进j k d e s t r o y e d 状态。在d e s t r o y e d 状态的m d l c t 必须释放了所有的资源,并且保存了数据。 图2 2 说明了i v l l e t 状态改交情况。 图2 2m 田l e t 状态图 m ) l e ts u l t e m i d l e ts u i t e 是m d l e t 程序的一个集合。包含了一个或多r - m i d l e t 、资源文 件以及j a rm a n i f e s t ,这些内容被打包成一个j a r 包。通常m i d l e ts u i t e 还需要 一个外部的j a d 描述文件。 m i d l e ts u i t e 是为了解决多个m i d l e t 受控访问、共享资源的问题而提出的 模型。r m s 的共享在一般情况下是以m d l e t s u i t e 为单位进行的,即同一个 m i d l c t s u i t e 中的m i d l e t 可以安全的共享所私i i d l e t s u i t e 中的r m s 因此,当 多+ m i d l e t 要共享r m s 时,就可以将它们放进一个m d l e ts u i t e 中。为了保证安 全性,m i d l e ts u i t e 中的m i d l c t 、资源文件都不能独立安装、删除或更新。即 m i d l e ts u i t e 必须作为一个整体包来对其操作。对于设备来讲m i d l e ts u i t e 是一个 基本单位。 j a r 文件就是经打包后的可执行文件,包括下面各种元素; 1 实现m i d l e t 的类文件; 2 m i d l e t 中用到的任何资源文件( 包括图像、声音文件等) ; 3 关于i a r 内容的一份乳讯m a n i f e s t 描述。 m i d p 规范规定,每个m d l e ts u i t e 的j a r 文件中必须包含- - - 卜m a i n i f e s t m f 四川大学硕士学位论文童铭:基于i 2 1 v l e 的航空订票系统建模与实现 文件,这个文件用于描述m d l e ts u i t e 的各种属性。 j a d 描述文件为纯文本文件,文件扩展名为j a d 。在下载j a r 文件前,通常 会先下载j a d 描述文件,以让设备了解沏v l i d l c ts u i t e 是否适合自己避免直接 下载j a r 文件导致大量的成本消耗。这也是设计j a d 描述文件的初衷之一另 一个目的就是提供在不更e 兜j a r 的前提下修改某些属性值的能力,所有属性都 可以通过调用m i d l e t g e t a p p p r o p e r t y ( ) 方法取得。 2 1 4 手机图形编程 对于c l d c 来说,其本身并没有包含任何的u i 包,这些u i 包被定义在 m i d p 中m i d p 中定义的包并没有支持a w t ( a b s t r a c tw “m d o wt o o l k i t ) ,这些 u i 包是专门针对移动设备而重新设计的。m i d p 放弃的对即有g u i 类的支持针 对移动设备而重新定义了新的u i 包即j a v a x m i c r o e d i t i o n 1 c d u i 包。 j 2 m e 使用的g 类包括在m d p 中。移动信息设备简表( m i d p ) 为运行在 m i d p 容器中的m l d l c t 应用定义了一个a p i 。此a p i 本身是建立在c l d ca p i 之_ 上 的。m i d p 用户接n a p i 的j a v a 类是为移动电话和寻呼机这类小型移动信息设备 特别设计的。这类设备只有有限的屏幕尺寸和键盘性能。当程序员采用m i d p 编写图形应用时,他们只能使用m i d p 或c u ) ca p i 。 m i d p 用户接口的基本抽象图形是屏幕。s c r e e n 类对面向设备的图形和用户 交互进行了封装。每次应用只能显示一个屏幕,而且只能浏览或使用屏幕上的 条目。m i d pa p i 具有。高级”( h i g h - l e v e l ) 和“低级”( l o w - l e v e l ) u i 类。高 级用户接口( 如:f o r m ,l i s t ,t c x t b o x 。t e x t f i e l d ,a l e r t 和t i c k e r ) 具有设备 适配功能,它对图象、文本、文本域以及单选按扭等进行支持。它面向于那些 非常注重移动信息设备间可移植性的应用程序,为了达到这种可移植性,高级 用户接口采用了更高级的抽象,因此对具体g u i 可做的视感控制很有限。低级 用户接口类( 如:c a n v a s ) 允许操作者任意绘图。在移动电话上运行的m i d l e t 可以具有各种尺寸的彩色、具有灰度的或黑白的屏幕。它面向的是那些需要精 确定位和控制图像元素,以及需要获得输入事件的应用程序。该a p i 使开发者 可以全面掌控屏幕上所画之物。 相比之下,高级类是一般u i 元素的抽象,它便于m d l c t 在不同设备之间 的可移植性,而且能够确保适配不同设备的用户界面。低级a p i 可以更直接地 9 四川大学硕士学位论文童铭;基于j 2 m e 的航空订票系统建模与实现 控制屏幕上显示的内容,但m d i e t 设计者应该确保不同设备( 显示尺寸、键盘 及色彩等存在差异) 之间的可移植性。 m i d p 中使用的图形接口和类的继承体系如图2 3 所示。 图2 3m i d p 使用的g u i 继承体系 m i d pg u i 的工作方式 m i d pg u i 模型的核心是屏幕,屏幕在m i d p 规范中抽象为一个封装了设 备特有的图形显示和用户输入的对象。为了在m i d p 设备上显示内容,首先需 要取得设备的显示器每个m i d l e t 会有唯一的一个t ) i s p l a y 对象,它管理着屏 幕的显示,激活m i d l e t 时该类被实例化,它提供了获取设备显示器能力信息的 方法一个应用程序可以有多个屏幕,而在一个d i s p l a y 对象中,同一时间只 能显示一个屏幕。屏幕只是m i d p 规范中定义的一个抽象,从开发者的角度来 说,具体指的就是两种类型的d i s p a l y a b l e 对象;s c r e e n 和c a n v a s 对于屏幕,由它封装和管理用户通过设备输入的图形对象以及对象的位置。 屏幕由j a v a 】【m i c r o e d i t i o n 1 c d u i s c r e e n 对象代表,d i s p l a y 对象通过调用 s e t c u n n t ( ) 方法显示屏幕对象用户可以遍历屏幕上的元素,显示器与屏幕之 间的一对多关系。 1 0 四川大学硕士学位论文童铭:基于1 2 m e 的航空订票系统建模与实现 事件的侦听与处理 由于m i d p 其u i 需要适应数量广泛、特性可能互不相同的目标设备,所 以m i d p 需要高度抽象其输入机制。也就是说,理想情况下开发者不需要考虑 设备的特殊性。例如:键的数量与位置键的绑定等。m i d p 定义了抽象的 c o m m a n d 机制,而具体的实现根据与该设备相适合的机制来提供支持。对于开 发者来说,c o m m a n d 对象就类似于普通g u i 编程的b u t t o n ,可以设定其标题 如o k 、c a n c e l 、g o b a c k 等,当用户调用该c o m m a n d 时,应用程序会做出适 当的响应,而具体c o m m a n d 如何在屏幕上显示以及如何与具体设备的按键等建 立联系,开发者不需要考虑的。 c o m m a n d 对象有3 个参数分别为: 1 l a b c hc o m m a n d 的标题,也就是c o m m a n d 所显示的内容,如o k 等 2 c o m m a n d t y p e :这个值用来表示c o m m a n d 的类型,大多数的设备都会有一 个标准的键盘及其功能的映射方法,会根据这个值来映射c o m m a n d 对应的 按键以及功能。例如,如果c o m m n a d t y p c 被设定为b a c k ,具体实现会将 该c o m m a n d 映射到设备的“g o b a c k ”键和这个键对应的标准的回退操作上。 3 p r i o r i t y , c o m m a n d 的优先级。如一个显示0 k 的c o m m a n d c o m m a n dc - - - - n e wc o m m a n d ( o k ”, c o m m a n d o k 0 ) ; c o m m a n d 的事件处理模式采取的是标准的i a s t c n c r 模式,需要使用 d i s p l a y a b l c 对象的s e t c o m m a n d l i s t e n c r ( ) 方法来注册c o m m a n d 的l i s t e n s : p u b l i cv o i ds e t c o m m a n d l i s t c n c r ( c o m m a n d l i s t e n c rd ; 这样,c o m m a n d 事件就传送到m i d l c t 的c o m m a n d l i s t e n c 玎( ) 接口,应用通 过实现c o m m a n d a c t i o n ( ) 来处理相应的c o m m a n d 事件: p u b l i cv o i dc o m m a n d a c t i o n ( c o m m a n dc ,d i s p l a y a b l ed ) ; 2 i 5j 2 m e 的网络 在m d p 2 0 规范中规定了两类无线数据网:线路交换数据网( c s d ) 和包交换 数据网。在线路交换数据网中的,每个用户都有自己的通话频道,但线路交换 数据网的传输速率较慢包交换数据网是现在普遍使用的网络在传输中,数 四川大学硕士学位论文童铭:基于n v i e 的航空订票系统建模与实现 据是被分成比较小的等长的数据包进行交换。不同用户的数据包交换的时候, 会被分配到一个通讯频道的不同时间片上,传输过程中不同用户的数据是混合 传输的,到达后有接收方重新组装。 j 2 m e 平台的移动信息设备以包交换方式传输数据,并在该方式下对h t t p 协议提供了全面的支持。h r i p 是一种请求,响应式的通信协议:客户端利用浏 览器送出一个请求( 包含相关数据) 给服务器,而服务器则视能力完成请求的 操作,并传送一个响应给该客户端。 为了回避庞大和复杂的设计理念以及克服移动设备通讯方式的巨大差异, j 2 m e 没有沿用j 2 s e 的联网技术,而是使用了一套通用连接框架( g e n e r i c c o n n e c t i o nf r a m e w o r k ,g c f ) 网g - c f 由c l d c 定义的,并被m i d p 2 0 继承 网络通信a p i 在j a v a x m i e r o e d i o n i o 包中实现。为了适应网络条件不好以 及设备能力不同的问题,m i d p 2 0 充分的利用现有网络的基础结构,定义了灵 活的策略。m i d p 规范中规定,所有的设备都要支持i - r i t p 和h t t p s 协议,并 定义了一些可选协议的a p i 接口:数据报、套接字( s o c k e t ) 、安全套接字( s s l ) , 和串行通信接口。 在c l d c 中设计了7 个接口,其继承关系如图2 4 所示 c o n n e c 6 0 a is 廿c a n “:n e

温馨提示

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

评论

0/150

提交评论