




已阅读5页,还剩68页未读, 继续免费阅读
(计算机应用技术专业论文)多平台移动终端网络应用开发的研究和实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
多甲台移动终端网络应用开发的研究和实现 多平台移动终端网络应用开发的研究和实现 摘要 人们追求交流和自由的脚步从未停止过,互联网技术的出现,打 破了时空交流上的限制,成为人类追求并获得自由的一个重要里程碑 而移动终端则让人们摆脱线的约束,能随时随地进行沟通。移动终端 从最初的b p 机,到现在的p d a ,智能手机,正朝着网络化、智能化 和宽带化的方向不断发展。 应用于移动终端的开发技术除了w a p 和i - m o d e 外,还有b r e w 与j 2 m e 技术。 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 ( 无线二进制 运行环境) 的缩写,是美国高通公司为无线数据应用程序开发和执行 提供的通用接口平台,是高通公司提供的全面的、端到端的无线应用 开发、设各配置、应用分发、计费和支付的解决方案。 j 2 m e 即j a v a2m i c r o e d i f i o n ,是由s u n 提出,专用于消费类电子 设备( 包括无线设备,如手机和p d a ) 的无线应用开发平台。 b r e w 和j 2 m e 就其运行网络来说,一个现运行于g p r s 网, 一个运行于c d m a 网络。本论文要构建一个融合多平台的大型网络 应用系统,通过互联网上的服务器实现不同平台移动终端的数据交互 与信息共享。在应用中,用户可以持有不同平台的移动终端进入同一 个应用空间。论文对系统总体网络框架的构建进行了研究。对服务器 端进行了设计,实现了数据信息的交互。客户端实现了联通c d m a l x 系统中b r e w 平台和移动g p r s 系统中j 2 m e 平台的应用,解决了 客户端核心算法,同时对其中的诸多关键问题做了研究,并在实际中 取得了良好的效果。 关键字 移动终端j 2 m eb r e w 寻径 多平台移动终端网络应用开发的研究和实现 n e t w o r ka p p l i c a t i o nd e v e l o p m e n t s r e s e a r c ha n dr e a l i z a t i o no nm u t i p l a t i f o r m m o b i l et e r m i n a l s a b s t r a c t p e o p l en e v e rs t o pt h ef o o t s t e p so fp u r s u i n gc o m m u n i c a t i o na n df r e e d o m t h e a p p e a r a n c eo f i n t e r n e tt e c h n o l o g yw h i c hb r o k et h ec o m m u n i c a t i o nl i m i to fs p a c e a n dt i m eh a sb e c o m et h em i l e s t o n ef o rp e o p l et oc h a s ea n dg e tf r e e d o m w h i l e m o b i l et e r m i n a l sl e tp e o p l es u s p e n do f f - l i n er e s t r a i n tt oc o m m u n i c a t ea n y w h e r ea n d a n y t i m e f r o mi n i n t i a lb pt op d aa n dt h ei n t e l l i g e n th a n d s e t ,m o b i l et e r m i n a l si s d e v e l o p i n gf o l l o w i n gt h ed i r e c t i o no f n e t w o r k 、i n t e l l e c t u a l i z e da n dw i d eb a n d t h ed e v e l o p m e n tt e c h n o l o g yo v e rm o b i l et e r m i n a l si sb r e wa n dj 2 m ee x c e p t w a pa n di - m o d e b r e wi st h ea b r i v a t i o no fb 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 ,w h i c hi s d e s i g n e db yq u a l c o m m i tc a np r o v i du n i v e r s a lp l a t f o r mi n t e r f a c ef o rt h e d e v e l o p m e n t a n d r u n n i n go fw i r e l e s sd a t a 印p l i c a t i o n i tc a l la l s op r o v i d ea c o m p r e h e n s i v e ,e n dt oe n dw i l e l e s sd e v e l o p m e n t ,d e v i c ec o n f i g u r a t i o n ,a p p l i c a t i o n d i s t r i b u t i o n ,c o s ta n dp a y m e n ts o l u t i o n j 2 m ei sj a v a2m i c r o e d i t i o nw h i c hi sd e s i g n e db ys u n ,a n dw e r es p e c i a l l yu s e d i nc o n s u m i n ge l e c t r o n i cd e v i c e s ( i n c l u d ew i r e l e s sd e v i c e s ,s u c ha sc e l lp h o n ea n d p d a ) t od e v e l o p e a st ot h en e tb r e wa n dj 2 m ei sr u n n i n g ,o n ei sr u n n i n go v e rg p r s ,t h eo t h e ri s c d m a t h eg o a lo ft h i sp a p e ri st oc o n s t r u c tam u l t i p l a t f o r m sl a r g e s c a l en e t w o r k a p p l i c a t i o ns y s t e m t h r o u g hi n t e m e to ns e r v e rw er e a l i z ed i f f e r e n tp l a t f o r mm o b i l e t e r m i n a t i o nt os h a r i n gd a t a t h eu s e rm a yh a v ed i f f e r e n tm o b i l et e r m i n a l st oe n t e r t h ei d e n t i c a la p p l i c a t i o ns p a c e t h ep a p e rd os o m er e s e a r c ho nc o n s t r u c tt h eo v e r a l l s y s t e m ,t ot h e s e r v e r p a r t , i d e s i g n e d i ta n dr e a l i z ed a t as t r a n s m i ta n d c o m m u n i c a t e t ot h ec l i e n tp a r t ,ia c e n l r i p l i s h e db r e wp l a t f o r ms i d ea n dj 2 m e p l a t f o r ms i d e sa p p l i c a t i o n ia l s oh a sc o m p l e t e dt h ec l i e n ts i d ec o r ea l g o r i t h m s o l u t i o na n dd o n es o m er e a r c hw o r ko nk e yp r o b l e m s t h o s es o l u t i o n sw a su s e da n d 多平台移动终端网络廊用开发的研究和实现 h a so b t a i n e dt h eg o o de f f e c t k e yw o r d s m o b i l et e r m i n a lj 2 m eb r e w f i n d p a t h 多平台移动终端刚络应用开发的研究和实现 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究: 作及取得的研究成果。尽我所 知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰 写过的研究成果,也不包含为获得北京邮电大学或其他教育机构的学位或证书而使用过的利 料。与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示了谢 意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 甄薹擎日期:。盟“玉蠼 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 多平台移动终端网络应用开发的研究和实现 第一章绪论 1 _ 1 引言 人类对于自由和交流的渴望是无止境的,技术的发展使得人类对自由的梦想 逐渐成为现实。个人计算机的出现和发展使人类的个人计算能力不断增强,将人 们从繁琐的事务劳动束缚中解脱出来:互联网使人类摆脱了单机和局域网的局 限,打破了时空交流上的限制,是人类追求并获得自由的一个重要里程碑:而移 动终端让人们摆脱线的约束,能随时随地进行通信功能的实现。 今天,科学技术的日益发展让移动终端从最初的b p 机,到现在的p d a ,智 能手机。随着网络建设的快速发展,移动终端也能够提供更丰富的服务。如: g p s 定位,图片和铃声的下载,网页的浏览和游戏等。而未来的移动终端应用会 朝着网络化、智能化和宽带化的方向继续发展。 1 2 论文背景介绍 当前移动终端的应用开发技术主要有w a p ,i - m o d e 、b r e w 、j 2 m e 。 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 论坛是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 td o c o m 。公司由于发明和 推广i - m o d e 技术而迈向了世界级顶级无线服务商的位置。 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 ( 无线二进制运行环境) 的缩写,是美国高通国内公司为无线数据应用程序开发和执行提供的通用接口平 台,是高通公司提供的全面的、端到端的无线应用开发、设备配置、应用分发、 计费和支付的解决方案。 根据高通官方数据,截至2 0 0 5 年7 月为止,已经已有2 0 多个国家4 5 家运 营商提供b r e w 服务,3 4 家商业b r e w 设备制造商,发行商或者开发者赢得 3 5 0 亿美元以上利润。 多平台移动终端网络应用开发的研究和实现 b r e w 的应用比较多在以手机为主的移动终端上。在中国,b r e w 平台自 2 0 0 3 年7 月由中国联通推出,到2 0 0 4 年底,b r e w 共有3 0 0 万以上浏览用户, 激活终端为2 4 0 万,下载用户为1 7 0 万。现共有1 0 0 余款终端支持b r e w 应用。 拥有b r e w 功能的手机也成为当下年轻人的消费时尚。 j 2 m e 也是应用也很广泛的无线应用开发平台,它最初由s u n 提出,用于消 费类电子设备( 包括无线设备,如手机和p d a ) 。作为j a v a 家族中的一员,1 9 9 9 年2 月j 2 m e 一推出,著名的美国电信网络运营商n e x t e l s p r i n t p c s ,b t c e l l 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 e ) 、爱立信( e r i c s s o n ) 等也纷纷宣布支持j 2 m e 技术。同时积极推动无线应用开发。 据无线市场分析家预计,j 2 m e 将逐渐成为无线设备的主导开发平台。 以上的几种用于移动终端开发的技术,有着各自不同的技术特点和应用领 域。就运行网络来说,有的技术是基于g p r s 网,而有的基于c d m a 网络,本 论文的目的是构建一个融合多平台的大型网络应用系统,通过互联网上服务器实 现不同平台移动终端的数据交互与信息共享。在应用中用户可以持有不同平台的 移动终端进入同一个应用空间。如下图1 1 所示。论文对进行系统总体网络框架 的构建的研究。并着重针对联通c d m a i x 系统中b r e w 平台的移动终端和移动 c p r s 系统中j 2 m e 平台移动终端的研究开发做分析以及实现。 图1 1 应用系统总体 论文中,本人实现了系统的客户端,完成了客户端核心算法,对其中的诸多关键 问题做了研究和解决,并在实际中取得了良好的效果。 多平台移动终端网络应用开发的研究和实现 1 3 本论文的内容组织 本论文内容安排如下: 第一章:对论文的技术背景和本人在论文中的主要完成任务做了介绍。 第二章:介绍b r e w 技术的概念、特点和b r e w 平台的基本技术以及管理 机制。 第三章:介绍j 2 m e 技术的由来,系统的总体架构。特别对于无线应用中的 j 2 m e 体系结构做了讲述。 第四章:本应用系统的总体结构,各部分的功能描述 第五章:应用实现的核心算法分析,通过总结几种常用寻径算法的优缺点, 来设计并实现出适合移动终端应用的两种寻路算法,并对其进行了分析 第六章:主要讲解了在实现应用过程中,自己所解决的关键问题,如:图片 的处理、内存的优化、声音的播放、存储功能的实现,以及如何提高程序的运行 速度,改善网络性能各个方面做介绍。其中有b r e w 平台和j 2 m e 平台中通用 的,也有不通用的方法,对于两平台不同的地方做了个别的分析。 第七章:综合比较了j 2 m e 和b r e w 两种技术并对今后的发展做了展望。 第八章:总结整个论文的不足之处。 多平台移动终端网络应用开发的研究和实现 第二章b r e w 技术 2 1 b r e w 简介 2 1 1 什么是b r e w b r _ e w 是b m a z 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 ( 无线二进制运行环境) 的缩写,是美国高通为无线数据应用程序开发和执行提供的通用接口平台,是高 通公司提供的全面的、端到端的无线应用开发、设备配置、应用分发、计费和支 付的解决方案。 b r e w 目标文件是二进制代码,而不是中间解释程序。b r e w 为动态加载 机制,只有当需要运行的时候,代码才加载运行。b r e w 有自身的内核和高效、 低成本、可扩展的应用程序执行环境( a e e 环境) 。相比较手机的操作系统而 言,b r e w 相当于是一个无线接口层,是上层应用与底层操作系统和硬件间的 接口。b r e w 是位于手机操作系统之上的。 借助于b r e w 技术,用户可以随时随地通过服务提供商下载指定类型的应 用程序或游戏来使用。同时,通过b r e w 接口功能,运营商可以提供成套的完 整的资讯、商务、娱乐功能。 b r e w 提供了一套应用程序接口( a p i ) ,设备制造商和开发人员可以随时 对运行环境进行扩展,提供应用程序需要的各种附加性能模块。 b r e w 商业运行的核心是b r e w 发布系统( b r e wd i s t r i b u t es y s t e mb d s ) 。 允许运营商自主控制和管理应用程序发布、定价以及他们为用户提供的服务。 b r e w 要求所有的b r e w 应用都要通过第三方的测试,这样将不会对终端 用户造成伤害,还保证了应用的设计功能的实现。 2 1 2b r e w 的技术特点 完整的b r e w 解决方案始于无线设备上驻留的开放、标准应用程序执行平 台。 b r e w 平台的技术特点如下: 瘦薄:b r e w 比其它应用程序平台或成熟的操作系统小许多倍,它仅是电 话原有操作系统上的一层薄片。高通公司从从无线行业的需求和芯片出发设计了 多平台移动终端网络应用开发的研究和实现 b r e w 平台,为手机提供了接口。因此b r e w 能在低端的手机上工作,使得运 营商非常容易地不增加或少增加成本地向用户提供b r e w 应用。 快速:b r e w 平台位于芯片系统软件之上,启用了快速c c + t 本地应用程序, 以及浏览器基于j a v a 技术和扩展的虚拟机( 例如游戏引擎和音乐播放器) 的简 易集成。 开放:除本地c c + + 以外,b r e w 还支持其它多种语言,包括j a v a 、可扩 展标识语言( x m l ) 、f l a s h 等执行环境。而且,由于它可以驻留在采用p a l m 等任何移动操作系统( o s ) 的智能手机上,因而可使用b r e w 发布系统( b d s ) 无线下载为这些o s 编写的应用程序,并像b r e w 应用程序一样使之商品化。 可扩展:第三方可以为b r e w 平台编写扩展,从而向应用程序提供附加功 能。高通通过发布扩展并将其提供给开发团体使用,确保b r e w 保持开放性。 成本效益高:降低开发成本,并缩短设备制造商的产品面市时间。设备制造 商可以在开发应用程序和为不同型号产品配备应用程序方面花费很少的时间,而 将更多的时问投入产品设计。 安全:b r e w 对基本的电话和无线网络运行提供保护。 最后,b r e w 平台的引入,降低了设备制造商的开发成本,并缩短设各制 造商的产品面市时间。设备制造商可以在开发应用程序和为不同型号产品配备应 用程序方面花费很少的时间,而将更多的时间投入产品设计。 2 2b r e w 平台的基本技术 2 2 1b r e w 平台架构 b r e w 应用程序模型是基于事件驱动的,使用c 语言作为原始开发语言和 接口描述语言的。 b r e w 应用程序模型是基于事件驱动的协作式多任务系统。这有别有大家 熟悉的w i n d o w s 事件驱动的抢先式多任务系统。从应用程序被载入开始,它通 过接收事件响应输入。比如用户的按键输入,是通过系统给应用程序发送的 e v tk e y 等事件来响应的。用户的应用程序,必须及时接收处理来自系统的事 件,这样才能保证应用程序的正常运行。如果程序陷入长时间的运行而不能及时 响应系统事件,将会导致设备强制性重新启动,这一点需要特别注意。 b r e w 的协作式多任务需要特别注意的是,b r e w 中没有多线程的概念, 只能通过应用程序中某个函数执行完一个任务,才能接下来处理另外的任务,并 不能执行并行的任务。 多平台移动终端网络应用开发的研究和实现 b r e w 相当于一个轻量级的操作系统,是在系统软件和底层驱动程序与应 用程序之间的一层,隔离了硬件驱动程序和用户应用程序。是开发人员不必关注 底层硬件平台和它们之间的差异性,而只关注b r e w 提供的接口和应用程序本 身即可。 b r e w 提供给应用程序的执行环境称为a e e ,为高度可扩展的,面向对象 的应用程序执行环境。应用程序的启动执行销毁都在此环境执行。这个也是读者 最关心的的区域,独立于b r e w 和底层环境。 图2 1 中,a e e 中包括两种m o d u l e ,一种为a p p l e t ,另一种为c l a s s e s 。a p p l e t 为应用程序的基本执行单元。a e e 每次只能激活一个a p p l e t 。在a p p l e t 中可以 激活另一个a p p l e t ,但是只有那个被激活的a p p l e t 在运行,原先的a p p l e t 处于 停滞状态,可以由运行的这个a p p l e t 再次把它激活。a p p l e t 也可以称之为应用 程序。 c l a s s 是b r e w 系统中可以复用的最小单元。一个c l a s s 无法单独运行,必 须要有一个a p p l e t 来调用。但是一个c l a s s 可以在多个a p p l e t 中被调用,把多个 a p p l e t 共同的操作放到一个c l a s s 中,可以有效地减少每个a p p l e t 占用的空间。 b r e w 、提供的系统接口就是c l a s s 的表现形式。用户可以自定义c l a s s 。这两种 m o d u l e 都分为动态和静态的。静态的m o d u l e 只有由设备制造商能够植入,动态 的m o d u l e 由用户下载。使用s d k 只能够开发动态的m o d u l e 。 b r e w l j l 二:二。j 堕三巫查_ i 二_ _ l 竺竺竺! ! 竺兰竺竺竺竺要 j 2 2 2b r e w 事件处理 图2 1b r e w 基本体系结构 事件处理问题是现代程序设计的核心问题。b r e w 程序的核心问题,就是对 系统发出事件的处理。处理好b r e w 的事件,b r e w 程序可以说就写好了一半。 多平台移动终端网络应用开发的研究和实现 b r e w 中的事件是一系列以e v t 开头的宏定义。主要用到的事件有2 种:a p p l e t 事件,键控事件等。a p p l e t 事件中比较重要的有下列事件: e v ta p ps t a r t :应用程序开始有系统发出的事件,响应此事件后,应用程序 启动。 , e v ta p ps t o p :应用程序结束时候系统发出的事件,相应此事件后,应用程 序关闭。 e v ta p ps u s p e n d :当有电话呼入的时候系统发出的事件,响应此事件后, 应用程序挂起。 e v ta p pr e s u m e :当电话呼入结束的时候系统发出的事件,响应此事件后, 应用程序恢复。 e v ta p pn os l e e p :当应用程序长时间运行的时候,是否能够进入节能模式。 键控事件主要包括下列事件: e v tk e y :系统发出的按键事件,或者是当有按键按下的时候发出,或者是当 有按键松开的时候发出,或者是都发出,这个依赖于设备制造商。 e v tk e yp r e s s :当按键按下时系统发出的事件。 e v tk e yr e l e a s e :当按键松开时系统发出的事件。 e v tk e yc h a r :当按f 的键为字符的时候,系统发出的事件。 2 2 3b r e w 面向对象 b r e w 也采用了面向对象的程序设计方法,使用类似w i n d o w s 中的c o m 机制 来实现数据抽象,继承和多态。 b r e w 的引用计数机制 b r e w 中接口的结构,类似于w i n d o w s 程序设计中的c o m 技术,都是基 于引用计数原理的。当创建接口的时候,如果引用计数不为零,则取得已经创建 的接口指针,同时引用计数加一,如果引用计数为零,则创建接口。删除接口的 时候,引用计数减一,如果计数减到零,则从内存中卸载接口。引用计数技术为 b r e w 的基本核心技术之一,b r e w 的所有接口都从i b a s e 接口派生,i b a s e 接 口只有两个方法,i b a s ea d d r e f 和i b a s er e l e a s e ,从这两个方法可以看出,b r e w 中所有的接口都是基于引用计数的。在使用完接口以后,要进行释放,否则会发 生内存泄露的问题,在释放后,该引用计数变为零。在引用计数变为零之前,接 口指针会保持加载的状态,一旦引用变为零,b r e w 将自动释放与该指针相关 的所有内存。 b r e w 中的引用计数是针对单个对象而言的,而不是多个。每一个对象都 多平台移动终端网络应用开发的研究和实现 维持一个引用计数。 因此b r e w 下的引用计数基于几个基本原则: 1 对于能够返回接口指针的函数,成功返回的时候接口引用计数已经增加 2 对于返回结构指针的函数,函数返回的时候不会对引用计数有影响 3 接口指针不用的时候,应该释放来减少引用计数 4 每个模块只维护自己使用到的指针的引用计数。 b r e w 下的引用计数基本是参照c o i v l 的规范来实现的。所以c o m 对引用计 数的那些规范同样适用于b r e w 。 b r e w 接口的继承和多态 既然与c o m 技术类似,那b r e w 当然实现了继承和多态。b r e w 中的继 承是根据c 语言结构体数据的位置固定技术才实现的,而多态是使用虚函数表 技术,通过替换相应的虚函数表中的函数指针位置,来实现多态,它的作用是为 了实现系统范围内的引用计数。 2 2 4b r e w 的动态模块加载机制 在b r e w 中,m o d u l e 是基本的执行单位,一个m o d u l e 可以包含一个或多 个a p p l c t ,或者多个e x t e n s i o nc l a s s 。下面就论述一下,b r e w 是如何动态加载模 块的。 1 m o d u l e 的信息 原则上来说,每个m o d u l e 都需要有标识自身的m i f 文件。 2 枚举m o d u l e 信息 这二步是在b r e w 环境初始化的时候进行的,由于通常在开机时就初始化 b r e w 环境,所以枚举m o d u l e 信息在开机时就进行。对于b r e w 通过检索各 个m l f 文件来获得各个m o d u l e 的必要信息,比如c l s i d 等。 3 m o d u l e 加载 m o d u l e 的加载是在运行时刁进行的,即执行该m o d u l e 的时候。m o d u l e 的 加载是通过通用函数a e e m o d _ l o a d 实现的,而a e e m o dl o a d 实际是调用 a e e s t a t i c m o dn e w ,该函数的原型为 血a e e s t a t i c m o d _ n e w ( i n t l 6n s i z e ,i s h d l + p l s h e l l ,v o i d + p h , i m o d u l e * * p p m o d , f n m o d c r e a t e i n s t p f i a m c ,p f n f r e e m o d d a t ap f n m f ) 。 4 m o d u l e 创建 多平台移动终端网络应用开发的研究和实现 这是通过a e e m o dc r e a t e l n s t a n c e 函数来创建的。而通过分析 a e e m o dc r e a t e l n s t a n c e 的相关代码,我们又可以发现m o d u l e 指定了通过调用 通用函数a e e c l s c r e a t e l n s t a n c e 来进行创建。 5 a p p l e t 创建 之后,a e e c l s c r e a t e l n s t a n c e 通过a e e a p p l e t _ n e w 来最终创建a p n e t , a e e a p p l e t _ n e w 无非是具体分配a p p l e t 内存,初始化a p p l e t 的回调函数列表( 这 里最重要的是实例化a p p l e t _ h a n d l e e v e n t ) 并返回i a p p l e t 指针,供运行时使用。 6 程序运行 通常就是在a p p l e th a n d l e e v e n t 中进行各种事件处理。处理前一般将传入的 i a p p l e t 指针先转换为a e e a p p l e t 或者用户自身的结构,以便可以访问其中的数 据变量。 2 4b r e w 的管理机制 b r e w 程序的管理是通过i s h e l l 接口来实现的。 i s h e l l 接口的函数可以为b r e w 应用程序提供多种服务,是b r e w 系统的核 心函数,是b r e w 应用程序的总管。主要提供以下功能: 1 应用程序管理功能 1 s h e l l 中提供的a e e 外壳类应用程序管理函数可提供以下功能: 创建、启动和终止b r e w 类和应用程序。 获取设备上的模块和类的信息。 允许应用程序互相发送事件。 允许运行b r e w 应用程序,而不干扰设备必须执行的其它活动。 2 对话框、消息框和提示功能 对话框由包含一个或多个b r e w 控件的屏幕组成,允许设备用户输入数据 或选择菜单项目。但是,在实际的b r e w 应用程序中,对于简单常用的对话框 极少使用,主要是由于对话框与个性化的b r e w 应用程序之间显得有点不协调, 另外,对话框在处理消息上也比较麻烦,在前文有相关介绍。因此,往往我们通 过其他手段来制作一个与对话框功能类似的界面来替代对话框。 3 获取设备和应用程序的配置信息 这组函数允许获取关于设备及特定应用程序的配置信息。此函数相当重要, 在程序编码过程中,由于手持设备的屏幕等信息并不相同,并不能根据具体数字 来进行编码,需要读取设备信息来进行屏幕的处理,这样有利于b r e w 应用程 序的可移植性。 多平台移动终端网络应用开发的研究和实现 4 通知功能 i s h e l l 的通知机制是允许b r e w 类相互通知发生的特定事件。要接收通知, 已激活的类必须向a e e 外壳注册,指定通知类的c l a s s l d 和通知的事件。当发 生需要通知的事件时,通知程序类将调用i s h e l ln o t i f y ,向每个已注册接收该 事件通知的类发送通知。 5 资源文件和文件处理功能 应用程序可以使用a e e 外壳提供的许多函数从文件中读取各类数据。这些 文件可以是使用b r e w 资源编辑器创建的b r e w 资源( b a r ) 文件,也可以是内容 与m i m e 类型相关或由文件扩展名标识的文件。还可以通过定义自己的处理程 序类并使用它们操作特定m i m e 类型的文件,来扩展b r e w a e e 可以识别的文 件类型集。 6 定时器功能 当前实例化应用程序( 其引用计数非零) ,也就是正在运行的应用程序,可 以使用a e e 外壳的计时器,在超过指定的时间段后执行某项操作。这些时间段 一般很短( 以秒或毫秒计算) 。如果需要经过较长的时间段,则可以使用a e e 外 壳的警报函数i s h e l ls e t a l a r m 0 获取通知( 即使应用程序当前没有实例化) 。 计时器由回调函数和创建计时器时提供的数据结构地址来标识。可以使用 i s h e l l 或者是 来设置定时器,但是建议使用前_ s e t t i m e r e x i s h e l ls e t t i m e r 者。如果定时期到期触发,则定时期自动取消,如果没有到时触发,则可以使用 c a l l b a c kc a n c e l 和i s h e l lc a n c e l t i m e r 取消,这里也是建议使用前者。定 时器也可以重复触发,但是必须在定时器的回调函数里,再次设置定时器。 i s h e l l g e t t i m e r e x p i r a t i o n 用于确定特定计时器到期之前剩余的毫秒数。 定时器的执行由于b r e w 平台的原因,并不是到达指定时间立刻执行,而 是必须等待当前正在执行的函数执行完毕,在其它排在定时器回调函数之前的回 调执行完毕,在系统队列里的定时器回调函数才能执行。所以定时器的定时间隔 可能大大延长,如果依靠定时器来做严格依赖于时间的操作,应该注意这一点。 多平台移动终端网络应用开发的研究和实现 第三章j 2 m e 技术 本章介绍应用在移动终端应用开发中的另一个技术j 2 m e 。 3 1j 2 m e 概述: 3 1 1j 2 m e 的由来 j a v a 最初是为了开发嵌入式系统( 例如用来控制汽车和电器的家用和工业 用产品中的微型计算机上的程序) 而设计的一种语言。s u n 的开发小组在2 0 世纪 9 0 年代初期的工作目标,是满足刚刚发展起来的嵌入式计算机市场对软件的需 求,但随着因特网提供的更具竞争力的机会,这项工作转移了目标。 随着时间的推移和信息技术的发展,一些新的便携通信设备给j a v a 技术的 发展带来了另一些机会。无限电话从单纯的语音通信设备扩展为融合了语音和文 本的通信设备。袖珍电子电话簿发展称为个人数字助理。此时,芯片厂商不断发 布新的产品,将桌面计算机的计算能力转移到了可移动的微型计算机,用来控制 从有限电视机顶盖到手机等各种类型的电子设备和电器。 此时正是j a v a 发生第二次演变的时机。s u n 小组并没有为j a v a 补充额外的 a p i ,而是与j a v ac o m m n i t yp r o c e s sp r o g r a m 一起,将j a v a 程序设计语言和 j a v a 虚拟机分开。他们将j a v aa p i 和j v m 缩减到为支持嵌入式系统和微型计算 机设备所需的最少的代码。这是必要的,因为有限的资源限制了这些设备的硬件 设计。他们努力工作的结果就是j 2 m e 的诞生。j 2 m e 是j a v aa p i 和j v m 虚拟机 的一个缩减版本,它设计用来在新型的嵌入式计算机和微型计算机所能提供的有 限资源内进行操作。 s u n 根据不同设备的需求,将l a v a 技术分成了三套,用来适合不同设备的应 用,1 2 m e 是其中的一部分: 1 s t a n d r de d i t i o n ( j 2 s e 标准舨) :针对桌面端p c 和工作站的个人和低端商 务应用。 2 e n t e r p r i s ee d i t i o n ( j 2 e e 企业版) :针对服务器端企业级应用,支持语言有 s e r v l e t s ,j s p ,x m l 等等s e r v l e t s ,j s p ,x m l 等等 3m i c r oe d i t i o n ( j 2 m e 袖珍版) :针对有限内存,显示和处理能力的设备, 主要是消费电子和嵌入式设备领域( 这实际是j a v a 语言设计最初的目标领域) 图3 1 列出了j a v a 2 平台的三个版本。 多平台移动终端网络应用开发的研究和实现 b a s e p e r s o n a l r m lp d am i d p r o l i l ep r o f i l e p r o f i l e p r o f i l ep r o 丘i c p r o f i l e p r o f i l e p r o f i l e c o n f i g u r a t i o n c d cc l d c j 2 e ej 2 s e e d i t i o nj 2 m e h o t s p o t , v m j v mc v mk v m v m 图3 1j a v a2 平台 在s u n 推出的三个j a v a 版本中,每个版本有自己的虚拟机( v i r t u a m a c h i n e ) ,这些虚拟机都为其目标应用做了特别优化。h o t s p o tv m 是一种可 以提高j 2 e e 服务器端应用性能的j a v a 虚拟机,它受到高度评价。 j v m 是j a v a 的传统虚拟机,主要为执行j 2 s e 桌面应用而优化。h o t s p o tv m 可以与j v m 很好的兼容。 用于j 2 m e 的两个j a v a 虚拟机分别是c v m 和k v m ,相对于h o t s p o tv m 和j v m 而言,它们具有体积小而且对系统资源要求少的特点。在消费电子和嵌入式设备 领域,内存从几百k 到几十k ,从没有屏幕到w e b t v ,c p u 从低功耗的嵌入式处 理器到2 0 6 m h z 的r i s e 处理器,硬件条件的差异是非常大的,这就使得j 2 i e 的 标准需要有不同的层次和类别来适应这个复杂的领域,所以相比之下j 2 m e 就比 j 2 s e 和j 2 e e 的标准要复杂的多。 3 1 2j 2 m e 的技术特点 明天的计算将进入普及计算时代。各种消费电子产品,包括智能手机, w e b - t v ,将来的信息家电等等将实现随时随地的计算。这是一个异常广阔和丰 富多彩的领域,其设备极度多样化而且都将在网络中,j 2 m e 技术的跨平台性和 网络功能在这里大有用武之地。j 2 m e 作为j a v a s 技术的一部分,沿袭了j a v a 技 术的特点: 1 平台无关性 各种无线设备在外形和功能上都是有很大差异。大多数现有的无线设各上的 应用程序都是使用制造商提供的专有系统库开发的。编程语言从c 、c + + 、v b 到专有的脚本语言。为某一种设备编写的应用程序不能在其他设备上执行。 j 2 m e 将j a v a “一次编写,到处运行”的设计理念扩展到无线领域中。使 用j a v a 开发无线应用程序,可以在不同厂商的不同设备上运行。这极大的提高 了程序的可移植性。 2 简单的编程语言 j a v a 技术可以节省开发时间和开发成本,从而极大地提高了生产力,这在 当今发展迅速、竞争激烈的市场中是极为关键的因素。 多平台移动终端刚络应用开发的研究和实现 3 丰富的网络功能 无线程序本质上是面向网络的,它需要在任何时间,任何地点为用户提供稳 定的与外界的通信。j a v a 在设计时就充分考虑到了网络的性能,它所具备的丰富 的网络库设置大大简化了网络编程工作。 4 内置安全模型 j a v a 提供了多级安全性,从类装载器,字节码验证器到安全管理器,可以保 护客户系统免受不安全程序的伤害。j a v a 还提供了用于安全地转换w e b 内容的 扩展安全a p i ,可以更安全地处理移动商务和金融程序所需的事物。 5 动态应用程序部署 大多数的现有应用程序都是内置的,而且是固定的。没有制造商的参与,很 难进行软件升级和安装新软件。j 2 m e 提供了动态部署机置( d y n a m i cd e p l o y m e n t m e c h a n i s m ) 。可以通过无线网络下载和安装程序。 6 分布式计算 j a v a 在i n t e r n e t 成为主要应用平台后极为流行,它成了创建w e b 应用 程序的第一选择。使用j 2 m e 开发的应用程序易于与j 2 e e 集成,以提供企业级 无线应用程序的后台支持。无线应用的本质就是瘦客,j 端( t h i nc l i e n t ) ,j a v a 中 强大的x m l 支持使得客户服务器或基于事务的程序也能在无线设备上运行。 7 庞大的开发群体 一 对于无线设备厂商而言,将自己的开发平台向j a v a 群体开放绝对是一个好 消息,他们轻而易举的获得了2 5 0 万j a v a 人力资源。 由于具有以上特点,j 2 m e 在无线应用程序开发方面很有优势。 3 1 3j 2 m e 的发展状况 目前在国内外,j 2 m e 已经引起了众多厂商和公司的重视,很多厂商已经 进入j 2 m e 的开发领域。随着智能终端的普及,各种应用,包括移动游戏、移动 电子商务、企业应用的无线扩展以至到移动与普适计算等都已
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025英大证券有限责任公司高校毕业生招聘约1人(第二批)笔试参考题库附带答案详解
- 2025浙江温州市国资委公开遴选市属国有企业外部董事专家库人选40人笔试参考题库附带答案详解
- 2025江苏无锡市宜兴市宜能实业有限公司招聘线路设计辅助人员2人笔试参考题库附带答案详解
- 2025广西文化产业集团有限公司春季招聘36人笔试参考题库附带答案详解
- 2025年合肥高新美城物业有限公司招聘30人笔试参考题库附带答案详解
- 2025年中国邮政集团有限公司甘肃省分公司春季校园招聘笔试参考题库附带答案详解
- 卸料安全培训课件
- 2025山东省国际信托股份有限公司社会招聘8人笔试参考题库附带答案详解
- 2025安徽蚌埠市城市投资控股集团有限公司所属公司社会招聘11人笔试参考题库附带答案详解
- 2025四川成都三和来科技有限公司招聘50人笔试参考题库附带答案详解
- 陪诊服务培训课件模板
- 严禁管制刀具进校园主题班会课件
- 2024年山东省春季高考技能考试汽车专业试题库-上(单选题汇总)
- 国庆、中秋双节前安全排查记录
- 八年级上学期轴对称练习题
- 双姿培训课件
- GB/Z 41082.2-2023轮椅车第2部分:按GB/Z 18029.5测得的尺寸、质量和操作空间的典型值和推荐限制值
- 实施项目经理岗位的工作职责描述
- 中频操作评分标准
- 生活中的理财原理知到章节答案智慧树2023年暨南大学
- GB/T 22588-2008闪光法测量热扩散系数或导热系数
评论
0/150
提交评论