(信号与信息处理专业论文)基于j2me的移动即时通信系统的设计与实现.pdf_第1页
(信号与信息处理专业论文)基于j2me的移动即时通信系统的设计与实现.pdf_第2页
(信号与信息处理专业论文)基于j2me的移动即时通信系统的设计与实现.pdf_第3页
(信号与信息处理专业论文)基于j2me的移动即时通信系统的设计与实现.pdf_第4页
(信号与信息处理专业论文)基于j2me的移动即时通信系统的设计与实现.pdf_第5页
已阅读5页,还剩46页未读 继续免费阅读

(信号与信息处理专业论文)基于j2me的移动即时通信系统的设计与实现.pdf.pdf 免费下载

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

文档简介

华北电力大学硕十学位论文 摘要 本文通过对即时通信的详细研究,结合j 2 m e 技术和j a b b 删p p 协议,设计了一 个移动即时通信系统,实现了移动终端之间实时的聊天功能,本文主要工作包括:( 1 ) 分析了即时通信的发展及其存在的弊端;( 2 ) 介绍j 2 m e 及其无线开发环境;( 3 ) 介绍 了j a b b e r 协议和j a b b e r 系统架构;( 4 ) 充分分析系统的功能,设计和实现了移动即时通 信系统。 在系统设计过程中采用了极限编程的方法,这样降低了开发难度,提高了开发效率, 同时,采用m v c 设计模型,选用j 2 m e 为软件开发平台,利用j a b b e r x m p p 协议, 使软件的可移植性强并为以后解决不同即时通信系统之间的不可互通性奠定了基 础。 关键词:j 2 m e ,移动即时通信系统,j a b b e r ,可扩展消息现场协议,套接字 a b s t r a c t a f t e rt r a v e r s e di n s t a n tm e s s a g i n ga n db yi n t e g r a t i n gj 2 m et e c h n o l o g ya n dj a b b e r x m p p p r o t o c o l ,t h i sp a p e rd e s i g n sam o b i l ei n s t a n tm e s s a g i n ga n dr e a l i z e st h ec h a t t i n gf u n c t i o nb e t w e e n m o b i l et e r m i n a l s f i r s t l y , t h i sp a p e ra n a l y z e st h ed e v e l o p m e n ta n dp r o b l e m so fi n s t a n tm e s s a g i n g a n dt h e n ,j 2 m ea n di t sw i r e l e s sd e v e l o p m e n te n v i r o n m e n ta r ei n t r o d u c e da n dj a b b e rp r o t o c o la n d j a b b e rs y s t e ms t r u c t u r ea r ef o l l o w e d l a s t l y , b ya n a l y z i n gt h es y s t e mf u n c t i o n s ,am o b i l ei n s t a n t m e s s a g i n gi sd e s i g n e da n di m p l e m e n t e d t h em e t h o do fe x t r e m ep r o g r a m m i n gw h i c hl o w e r st h ed e v e l o p i n gd i f f i c u l t ya n di m p r o v e st h e d e v e l o p i n ge f f i c i e n c yi sa d o p t e dd u r i n gt h ed e s i g no ft h i ss y s t e m 。a tt h es a m et i m e ,t h i sp a p e r a d o p t sm v cm o d e la n dc h o o s e sj 2 m ea sd e v e l o p m e n tp l a t f o r ma n du s e sj a b b e r x m p pp r o t o c o l , w h i c hm a k et h es o f t w a r es t r o n gf o rp o r t a b i l i t ya n dl a yag o o df o u n d a t i o nf o rf u t u r er e s e a r c ht o r e s o l v et h ep r o b l e mo fu n i n t e r c o m m u n i c a t i o no fd i f f e r e n ti n s t a n tm e s s a g i n g s p a nz h e n x i a n g ( s i g n a la n di n f o r m a t i o np r o c e s s i n g ) d i r e c t e db yp r o f z h a im i n g y u e k e yw o r d s :j 2 m e , i m ,j a b b e r ,x m p p ,s o c k e t 华北电力大学硕十学位论文 摘要 本文通过对即时通信的详细研究,结合j 2 m e 技术和j a b b 删p p 协议,设计了一 个移动即时通信系统,实现了移动终端之间实时的聊天功能,本文主要工作包括:( 1 ) 分析了即时通信的发展及其存在的弊端;( 2 ) 介绍j 2 m e 及其无线开发环境;( 3 ) 介绍 了j a b b e r 协议和j a b b e r 系统架构;( 4 ) 充分分析系统的功能,设计和实现了移动即时通 信系统。 在系统设计过程中采用了极限编程的方法,这样降低了开发难度,提高了开发效率, 同时,采用m v c 设计模型,选用j 2 m e 为软件开发平台,利用j a b b e r x m p p 协议, 使软件的可移植性强并为以后解决不同即时通信系统之间的不可互通性奠定了基 础。 关键词:j 2 m e ,移动即时通信系统,j a b b e r ,可扩展消息现场协议,套接字 a b s t r a c t a f t e rt r a v e r s e di n s t a n tm e s s a g i n ga n db yi n t e g r a t i n gj 2 m et e c h n o l o g ya n dj a b b e r x m p p p r o t o c o l ,t h i sp a p e rd e s i g n sam o b i l ei n s t a n tm e s s a g i n ga n dr e a l i z e st h ec h a t t i n gf u n c t i o nb e t w e e n m o b i l et e r m i n a l s f i r s t l y , t h i sp a p e ra n a l y z e st h ed e v e l o p m e n ta n dp r o b l e m so fi n s t a n tm e s s a g i n g a n dt h e n ,j 2 m ea n di t sw i r e l e s sd e v e l o p m e n te n v i r o n m e n ta r ei n t r o d u c e da n dj a b b e rp r o t o c o la n d j a b b e rs y s t e ms t r u c t u r ea r ef o l l o w e d l a s t l y , b ya n a l y z i n gt h es y s t e mf u n c t i o n s ,am o b i l ei n s t a n t m e s s a g i n gi sd e s i g n e da n di m p l e m e n t e d t h em e t h o do fe x t r e m ep r o g r a m m i n gw h i c hl o w e r st h ed e v e l o p i n gd i f f i c u l t ya n di m p r o v e st h e d e v e l o p i n ge f f i c i e n c yi sa d o p t e dd u r i n gt h ed e s i g no ft h i ss y s t e m 。a tt h es a m et i m e ,t h i sp a p e r a d o p t sm v cm o d e la n dc h o o s e sj 2 m ea sd e v e l o p m e n tp l a t f o r ma n du s e sj a b b e r x m p pp r o t o c o l , w h i c hm a k et h es o f t w a r es t r o n gf o rp o r t a b i l i t ya n dl a yag o o df o u n d a t i o nf o rf u t u r er e s e a r c ht o r e s o l v et h ep r o b l e mo fu n i n t e r c o m m u n i c a t i o no fd i f f e r e n ti n s t a n tm e s s a g i n g s p a nz h e n x i a n g ( s i g n a la n di n f o r m a t i o np r o c e s s i n g ) d i r e c t e db yp r o f z h a im i n g y u e k e yw o r d s :j 2 m e , i m ,j a b b e r ,x m p p ,s o c k e t 声明户明 本人郑重声明:此处所提交的硕士学位论文基于j 2 m e 的移动即时通信系统的 设计与实现,是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研究 工作和取得的研究成果。据本人所知,除了文中特别加以标注和致谢之处外,论文 中不包含其他人已经发表或撰写过的研究成果,也不包含为获得华北电力大学或其 他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 学位论文作者签名:涵心 日 期:2 望丝:呈:f2 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权 保管、并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或 其它复制手段复制并保存学位论文;学校可允许学位论文被查阅或借阅:学校 可以学术交流为目的,复制赠送和交换学位论文;同意学校可以用不同方式在不同 媒体上发表、传播学位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名:奄止婊扯 日 期:业止钲。生:i : 导师签名: 日 期:坦显:! :1 2 华北电力大学硕士学位论文 1 1 选题背景 1 1 1 即时通信服务的发展 第一章引言 如今,人们对腾讯q q 和微软m s n 等即时通信( i m ) 服务大都不会感到陌生, 可以说,很多人是通过网络和p c 接触、了解并使用即时通信服务的。自上世纪9 0 年代后期以来,从最初主要提供文本信息交互的i c q ,到现在功能同趋丰富的各种 即时通信服务,除了基本的文字聊天、多方聊天、语音聊天和视频聊天功能外,即 时通信已经逐渐集成了电子邮件、音乐、游戏和搜索等多种功能,多功能和综合化 已成为即时通信业务的发展趋势。可以说,各种即时通信服务不仅缩短了人与人之 间的距离,而且已经发展成为集交流、资讯、娱乐、搜索、办公协作和企业客户服 务等于一体的综合化信息平台【l 】。 但是随着人们需求的不断提高,人们越来越依赖来自i n t e m e t 的信息,也越来 越不满足通过个人电脑或办公室的工作站来访问i n t e r a c t ,通过便携的、无线的设备 访问i n t e r n e t 和交流已经成为人们需求的方向【2 】。随着移动互联网的发展,现在一些 即时通信提供商也积极致力于提供通过手机接入互联网的即时通信业务。 移动即时通信的研究在国内还处于刚刚发展阶段,目前两个比较成功的例子是 中国移动的“飞信 和中国联通的“超信”,已经实现了移动终端和p c 的互连互通, 迈出了移动即时通信的一大步。将固定网络中的桌面即时通信系统和移动网络中无 线终端设备的应用结合起来实现在手机、p d a 等便携的无线终端设备上与桌面即时 通信系统进行交互,以及移动终端和移动终端之间直接进行交互已成为发展的主要 方向。本文设计的系统就是在手机移动终端之间进行聊天的一个功能,通过该系统 用户可以实时的在手机上进行交流和聊天。该系统提供了用户注册、用户登录、用 户列表的更新以及消息的发送等功能,同时为了和其他即时通信工具的互通以及方 便以后功能的扩展,该系统基于j a b b e r 协议并在设计过程中使用了m v c 结构模型。 1 1 2 传统的弊端 一些业界人士认为,随着国内移动即时通信业务的不断发展,如何实现不同即 时通信系统的互联互通,如何实现移动运营商与移动运营商、移动运营商与固网运 营商之间即时通信系统的互联互通,这是能否推动移动即时通信业务快速发展的关 华北电力大学硕士学位论文 键。 当前,国内互联网即时通信服务市场竞争激烈,不同即时通信系统之间尚无法 互联互通,这在一定程度上阻碍了即时通信业务的发展,而移动即时通信发展也面 临同样的问题。艾瑞公司研究报告认为,现在即时通信软件根据功能可划分为四代: 第一代、第二代即时通信软件以互联网文本和语音通信为主;第三代以互联网视频 通信为主;第四代则以实现跨网沟通为主,即可以实现互联网、移动网、固定电话 网之间的跨网文本、语音、视频通讯等互联互通应用。目前,以q q 和m s n 为代 表的第三代即时通信软件已经成为市场的主流。但是第三代即时通信软件的跨网通 信能力先天不足,无法给予用户更好的娱乐和通信体验。而中国移动的飞信、中国 联通的超信等,都属于第四代即时通信软件的范畴,可以通过p c 、手机、固定电话 中的任何一个终端作为发起端,与互联网、移动电话网和固定电话网用户进行跨网 文本或语音通信。 业界人士认为,移动运营商直接提供自有品牌的移动即时通信服务,这自然会 对传统的即时通信服务提供商带来一定的冲击。但从总体来看,飞信、超信与q q 、 m s n 更多的是互补关系而不是竞争关系,双方的互联互通成为大势所趋。去年1 2 月,中国移动与腾讯签署了合作备忘录,计划在今年上半年实现q q 与飞信的互联 互通,并且将移动q q 业务逐步过渡到飞信平台上,这无疑是一个良好的开端。 从全球来看,着眼于加快移动即时通信业务的发展,一些主流移动运营商正致 力于加快推动不同网络间即时通信业务的互联互通。在去年的3 g s m 大会上,中国 移动宣布与英国v o d a f o n e 、西班牙t e l e f o n i c am o v i l e s 、法国o r a n g e 、德国t - m o b i l e 、 芬兰t e l i as o n e r a 、意大利t i m 及印度的b h a r t it e l e v e n t u r e s 等7 家海外移动运营商 联手,推动跨网络移动即时通信业务的发展。显然,在解决好跨网络的即时通信问 题之后,移动即时通信必将迎来更快的发展p j 。 1 1 3j a b b e r 即时通信协议的提出 针对上述问题,j a b b e r 应运而生,j a b b e r 是著名的l i n u x 即时通信服务服器, j a b b e r 的出现,实现了整个即时通信服务协议的统一。有了这个统一的协议之后, 使用任何一个组织或者个人提供的即时通信服务,都能够无障碍地与其他的即时通 信服务的用户进行交流。目前,即时通信领域正掀起一股新的潮流,世界最大的搜 索引擎公司g o o g l e 推出的g t a l k 就是一款基于j a b b e r x m p p 协议的即时通信软件。 j a b b e r 最有优势的就是其通信协议可以和多种即时通信对接,这种开放式协议能够 帮助开发者摆脱所有权陷阱,其优势有多种:开放协议鼓励竞争实现的发展( 一些 开放资源) ;他们鼓励广泛采用一种公共协议,这样可以阻止通讯孤岛和服务供应 的孤立主义方法的发展,从而确保封闭系统级协议不会阻碍基于i m 服务器发展的 2 华北电力大学硕士学位论文 互操作性。作为一种针对即时通信的现场服务的开放协议,作为一个公共协议的最 主要侯选者,j a b b e r 有潜力打破所有权在即时通信服务的控制和垄断。 1 2 国内外发展现状 j a b b e r 是为实时消息交换设计的一种开放式的基于x m l 的协议,换言之,就 是一种为我们所用的即时聊天工具设计的信息交换标准。最初j a b b e r 项目是由 j e r e m i em i l l e r 在9 8 年上半年发起,当时他开发了j a b b e r d 。第一次得到公众关注是 在1 9 9 9 年,一些核心程序员加入了这个项目并且很快致力于j a b b e r e d 服务器,l i n u x 和w i n d o w s 下的j a b b e r 的客户端,以及面向主要i m 服务的网关( a i m ,m s n ,i c q ) 。 伴随着j a b b e r 服务器和早期的客户端如w i n j a b 和g a b b e r 的发展,大部分的j a b b e r 协议在这个时候开发。直至j a b b e r d l 1 的发行,这些早期的快速变化在2 0 0 0 年5 月 走到了终点。 自从2 0 0 1 年8 月获得了j a b b e r 软件基金会支持,j a b b e r 协议继续发展,同时 大量的基于j a b b e r 的软件项目也得到了持续的发展。比方说,存在着至少四种j a b b e r 服务器实现,支持大量语言的j a b b e r 类库以及不同平台( 从l i n u x 到w i n d o w s ) 的客 户端。另外,j a b b e r 服务器被配置在数以千计的网络中,包括互联网和局域网,当 时全球已有超过1 0 0 万的用户使用j a b b e r 即时通信。 j a b b e r 作为一个开放的、基于x m l 的数据模型和协议,其优点如下【4 】: 开放一- - j a b b e r 协议是免费的、开放的、公众化的,并且是很容易理解的。除 此之外,和m s n ,q q ,i c q 相比,它有着多种不同的客户端,服务器的实现。 标准一一i n t e r n e t 工程任务组( i e t f ) i e 式制定了核心x m l 流协议作为一种即时 通信和现场技术的标准,并命名为可扩展消息现场协议( e x t e n s i b l em e s s a g i n ga n d p r e s e n c ep r o t o c o l ,x m p p ) ,其具体说明是在r f c3 9 2 0 和r f c3 9 2 1 文档中。 技术支持一一第一个j a b b e r 技术是由j e r e m i em i l l e r 在1 9 9 8 年开发出来的并且 运行非常稳定,后来越来越多的开发者都来从事j a b b e r 技术。目前,有成千上 万开发者来开发j a b b e r 技术并且有着上万个j a b b e r 服务器运行在i n t e m e t 上, 有着上百万的人使用j a b b e r 进行即时通信。 分散一一j a b b e r 网络的架构类似于e m a i l ,任何人都可以运行他们自己的服务 器,使得个人和组织能够管理他们内部的实时通信。 安全一一任何一个j a b b e r 服务器都是可以独立于整个j a b b e r 网络的( 比如说一个 公司内部网) ,并且通过使用简单认证和安全层协议( s a s l ) 以及传输层安全协 议( t l s ) ,很高的安全性便在其中建立了。 可扩展性一一利用x m l 名字空间的强大,任何人都可以在核心协议中定制一些 特殊的功能,为了保证互操作性,一些常用的扩展是被j a b b e r 软件组织所管理 3 华北电力大学硕十学位论文 的。 灵活性一一j a b b e r 应用除了提供即时通信以外,还包括网络管理、资源结合、 文件共享、游戏和远程监控等。 多样化一一各个公司和开源项目都可以运用j a b b e r 协议构建他们自己的实时应 用和服务,当使用j a b b e r 技术的时候,不会有被束缚的感觉。 1 3 论文研究的主要内容 本论文的主要工作是利用j a b b e r 技术建立一基于j 2 m e 的移动即时通信系统, 主要实现移动聊天功能。大多数情况下,谈话双方的客户端是直接通信的,服务器 只是负责维护在线客户端的在线列表,当客户端无法直接传送消息时,服务器才介 入进行转发。这样设计的好处是:一是可以加快消息流通速度,减少谈话人的等待 时间;二是服务器不必大量转发消息,减轻系统和网络的负担。不过在我们所设计 的系统中没有采用这种模式,而是使所有的消息都要经过服务器转发,原因在于目 前的移动终端接入互联网时( 包括中国移动的g p r s 和中国网通的c d m a ) ,只会 被分配一个内网的i p 地址,而非i n t e m e t 公网地址,所以两个终端之间是无法通信 的。 第一章介绍了即时通信的发展,并针对不同即时通信工具之间不能互通的弊 端,介绍了j a b b e r 在即时通信系统中的应用。第二章介绍了j 2 m e 技术,其标准的 开放性以及在其上面所写的代码与平台的无关性使其成为嵌入式软件开发的主流 平台,本章详细介绍了j 2 m e 的体系结构、无线移动设计以及j 2 m e 的无线开发环 境。第三章主要介绍了j a b b e r 协议和j a b b e r 系统以及基于t c p i p 的s o c k e t 网络连 接,包括j a b b e r 的核心协议x m p p ,j a b b e r 系统架构及s o c k e t 通信在该系统中的应 用等内容。第四章和第五章是本文的重点和难点,主要介绍移动即时通信系统的设 计和实现,包括界面及各个功能模块的设计,给出了相应的流程图并对其功能做了 详细描述,最终实现了移动客户端之间的即时聊天通信功能。最后是结尾部分,对 本文做了总结并针对该系统提出了一些不足和今后需要改进的地方。 4 华北电力大学硕+ 学位论文 2 1 无线j a v a 第二章j 2 m e 无线应用平台 无线j a v a 即j 2 m e ( j a v a 2m i c r oe d i t i o n ) 是专门用于开发移动设备嵌入式软件的 软件平台技术,是一种开放与统一的技术,采用无线j a v a 开发的应用软件可以运行 在所有的j a v a 手机上。 众所周知,应用程序一般是运行在特定的操作系统上的。而在嵌入式软件领域 中,操作系统可以说是五花八门,不同的手机制造厂商会采用不同的嵌入式操作系 统与芯片,就是同一手机厂商不同型号的手机也可能采用不同的操作系统。这样, 应用程序的开发者不可能开发出一个可以在所有手机中运行的应用程序( 例如游戏 软件) 。 无线j a v a 技术的出现解决了上述难题,按照无线j a v a 要求编写的应用程序, 可以在所有j a v a 手机中运行而与手机底层的操作系统无关【4 】。 在长期的发展过程中,j a v a 技术逐渐发展为以下四个平台:j 2 s e 、j 2 e e 、j 2 m e 、 j a v ac a r d ,如图2 1 所示: 涉及领域 j a v a 平台 圜匦圈圆圈已。翌塑垦堡堂。lk 塑竖篁蓬_匕堂金茎堡垒l医:三兰三。;l j a v a 平台标 准版j 2 s e 虚拟机 j a v a 平台企 业版j 2 e e 虚拟机 j a v a 平台微 型版j 2 m e 虚拟机 图2 - 1j a v a 体系结构 j a v a 卡平台 虚拟机 从图中可看出,每个j a v a 平台都有自己涉及的领域,从企业级的服务器到小小 的智能卡都能看到j a v a 技术的身影。2 0 0 5 年j a v a 技术还应用在美国的火星探索计 划中,由此可见j a v a 技术生命力的强大,下面是对j a v a 平台的各个分支简单的介 绍。 j 2 s e 为基于桌面电脑的应用程序开发提供了完备的开发环境,同时为j 2 s e 和j a v aw 曲服务提供了基础。 j 2 e e 为开发基于组件的多层应用程序提供了标准,j 2 e e 通过提供标准化、 华北电力大学硕士学位论文 模块化的组件来简化企业级应用程序的开发,j 2 s e 的很多优秀特性,如j d b c 、x m l 解析、c o r b a ,都在j 2 e e 得到了广泛的应用。 j 2 m e 为运行在嵌入式消费类电子产品的设备,如移动电话、p d a 、游戏终 端之上的应用程序提供了一个健壮的、灵活的环境。与j 2 s e ,j 2 e e 和j a v ac a r d 一 样,j 2 m e 同样包含一个小型的虚拟机和一系列的j a v a a p i 。j 2 m e 还提供了灵活的 图形用户界面、健壮的安全模型以及广泛的联网协议支持等,目前j 2 m e 已经部署 到上亿的设备上,前景非常看好。 j a v ac a r d 一为运行在智能卡或者处理器都非常受限的设备上的应用程序提供 安全的环境。多个应用程序可以部署到一个智能卡上并且安全运行,j a v a 技术与现 存的智能卡标准是兼容的。 2 2j 2 m e 的体系结构 j 2 m e 是s u n 公司于1 9 9 6 年6 月推出的,专门为资源受限的小型消费性电子设 备的应用程序开发设计的新型的j a v a 版本,目前己经被广泛地使用于手机、p d a ( 个 人数字助理) 、汽车导航系统以及电视机项盒等众多小型资源受限设备中,有着非 常好地发展前景。它的主要技术优势在于:有良好的跨平台能力,实现了w r i t eo n c e , r u na n y w h e r e ;有着与j 2 e e 后端的无缝结合能力;保留了j a v a 语言的优良特色, 如简单、安全;以及现有的j a v a 平台上广泛的开发工具,企业、开发人员能够为j 2 m e 提供良好的物质和人力支持等。 j 2 m e 由多种配置、简表和可选包组成。平台的实现者和应用程序的开发者可 以从中选择并组合出一个完整的j a v a 运行环境来满足特定范围内的设备需求,每种 组合都应该使这一系列设备的内存、处理器和i o 能力达到最优化。其体系结构如 图2 2 所示【5 j : 囱 - 图2 - 2j 2 m e 体系结构 6 华北电力大学硕士学位论文 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 ) :配置层为一组“水平”的设备分类( 或者称为设 备分组,g r o u p i n go fd e v i c e s ) 定义了最精简的公共平台,这些设备有着相近的内存 总量和处理器能力。定义了在所有同类设备上都适用的j a v a 语言设施和虚拟机功能 特性以及最基本的类库。目前存在两种配置标准可用:定位于低端消费类设备的连 接受限设备配置( 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 dd e v i c ec o n f i g u r a t i o n ,c d c ) 。c l d c 主要针对 那些资源非常受限的设备比如手机、p d a 、双工寻呼机等。而c d c 主要面对那些 家电产品,比如机项盒、汽车导航系统等。 简表层( p r o f i l el a y e r ) :简表层定义了特定类别设备上可用的应用程序编程接 口的最小集。简表层在一个特定的配置层上实现,应用程序是针对特定的简表编写 的,因此可以移植到支持该简表的任何设备上。一个设备可以支持多个简表,用户 和应用程序开发看到最多的就是这一层。 移动信息设备简表层( m o b i l ei n f o r m a t i o nd e v i c ep r o f i l e ,m i d p ) :主要是针对手 机、p d a 等有限连接设备定义的一组j a v aa p i ,并规定了开发基于j 2 m e 的应用程 序所涉及到的一些诸如用户界面,数据的持续存储,网络功能以及应用程序生命周 期等基本要素。m i d p 和c l d c 一起构造了一个完美的j 2 m e 框架,程序员则负责 在m i d p 上编写移动通信应用程序,这些程序称为m i d l e t 。 j a v a 虚拟机层、配置层、简表层和移动信息设备简表层一起为j 2 m e 移动通信 设备应用程序提供了一个标准的运行环境,这个环境允许新的应用程序和服务动态 地被安装到各种终端用户设备上。 2 3 无线移动设计 2 3 1 移动信息设备简表( d p ) 移动信息设备简表针对的主要是移动设备,或者体积较小的能力有限的手持设 备( m i d ) 。移动信息设备的硬件要求很简单,即单色或彩色显示屏幕,最小尺寸为 9 6 像素5 4 像素;用户的输入机制为:小型键盘或者触摸屏;双向无线网络连接能 力;最小1 2 8 k b 永久存储空间用于m i d p 系统软件( m i d p 2 0 需要2 5 6 k b ) ,8 k b 用于应用程序定义的存储空间,3 2 k b ( m i d p 2 0 需要1 2 8 k b ) 内存用于j a v a 运行 时堆的使用。其中,用户输入机制的定义是灵活的,m i d p 引用了电话上的小键盘 作为单手键盘,随着技术的创新,还会包括更多的输入方法,例如触摸屏、游戏键 7 华北电力大学硕士学位论文 盘( 例如n o k i a 的游戏手机) 等。总之,应用程序一定要在有键盘的设备上运行, 而该设备必须提供键盘到字母的映射。 除了硬件要求,m i d p 规范还定义了其实现的软件需求,即支持m i d p 的设备 应该能够做到以下几点【6 j : 1 ) 管理软件,并能够提供运行k v m 虚拟机的线程。 2 ) 提供读写永久存储空间,可以访问无线网络、显示输出等。 3 ) 能接受按钮或触摸屏事件的触发功能。 4 ) 实现m i d p 应用程序的生存周期安装、选择、启动、关闭和删除的管理。 2 3 2 应用程序套件d i e ts u i t 在m i d p 规范中最重要的一件事情就是定义一个m i d p 应用程序的组成,换句 话说,它应该回答任何开发人员都可能问的问题,如何打包类文件并将其正确下 载? 程序的入口在哪里? 设备如何识别该m i d p 应用程序是自己想要的? 这些问题 的答案在m i d p 规范中无法找到,这是因为随着设备的不同答案各有差异。 同a p p l e t 类似,一个m i d p 程序被称为“m i d l e t ,m i d l e t 应用的主类需要从 一个特殊的类( i 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 ts u i t ,其表现形式是以一 个j a r 为后缀名的文件,这个j a r 文件非常重要,所包含的主要信息如下: 1 ) 包含m i d l e t 运行所需要的所有类,与a p p l e t 不同,m i d l e t 不运行在运行时 下载的其他类,而只运行在同一个m i d l e t 中的类。 2 ) j a r 的m a n i f e s t 文件是个文本文件,用于描述j a r 文件的内容,定义了在 m i d l e t 中的重要信息,如名称、主类、图标等等。 3 ) 其他资源文件,如使用的图像、声音文件。 另外,j a r 文件是作为一个整体提供给设备的,其中个别的类或者文件提取出 来都是没有意义的。从概念上讲,一个m i d p 应用的边界是j a r 文件,在同一个 m i d l e ts u i t 中的m i d l e t 可以共享数据和类,但这并不是绝对的。 一个m i d l e ts u i t 实际上有两个文件:一个是标准的j a r 文件,其中有相关的 类、m i d l e t 信息描述和相关资源文件;第二个是文本文件,称为j a v a 应用程序描述 器( j a v a a p p l i c a t i o nd e s c r i p t o r ,j a d ) ,它重复了一些在j a r 文件( m a n i f e s tf i l e ) 中的信息以及s u i t e 的名字、大小和版本等。这样可以让设备中的j 2 m e 程序管理器 快速决定是否需要下载安装等问题。 除了为下载提供单一入口外,m i d l e ts u i t 的另一个重要用途是提供m i d l e t 的 活动范围,换句话说,在不同的m i d l e ts u i t 中的m i d l e t 是不能相互通信的,所有 m i d l e ts u i t 的类必须放在同一个j a r 文件中1 6 】。 华北电力大学硕士学位论文 2 3 3 应用程序单元die t m i d p 应用程序的基本运行单元称为m i d l e t ,类似于网页上运行的a p p l e t ,有 自己的状态,并且它的状态变化由设备上的程序管理软件( a p p l i c a t i o nm a n a g e m e n t s o f t w a r e ,a m s ) 控制。该软件负责程序的安装部署、启动、停止以及从设备上删除 等等,并在此过程中负责错误处理和与用户交互,为程序提供了j a v a 运行环境。设 计m i d l e t 状态主要是为了保证m i d l e t 运行的一致性和封闭性。图2 3 给出了m i d l e t 状态和状态转换关系【6 j : 图2 - 3m i d i e t 状态转换 由图中可以看出m i d l e t 有以下3 个状态【2 j - 暂停:m i d l e t 己经被初使化,并且不处于活动状态。当m i d l e t 处于暂停状态时, 它不占有任何共享资源。当a m s 调用p a u s e a p p 0 方法或者m i d l e t 自身调用 n o t i f y p a u s e d o 方法后,m i d l e t 进入暂停状态。 激活:m i d l e t 处于活动状态,一般占有当前屏幕。m i d l e t 创建后,a m s 调用 s t a r t a p p 0 方法,使m i d l e t 进入活动状态。 终止:m i d l e t 释放了它占用的所有资源、终止运行后的状态。a m s 调用 d e s t r o y a p p 0 方法或者m i d l e t 自身调用n o t i f y d e s t r o y e d o 方法,m i d l e t 进入终止 状态。 因为m i d l e t 是程序运行的基本单位,所以开发m i d p 程序时必须实现自己的 m i d l e t 。所有的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 类实现了与a m s 交互的大部分功能,只把状态转换时需要调用的s t a r t a p p ( ) , 9 华北电力大学硕士学位论文 p a u s e a p p 0 和d e s t r o y a p p ( ) _ 三个方法留给开发者实现。 2 3 4 记录管理系统r m s m i d p 提供的持久性存储机制可以被视为一种简单的面向记录的数据库模型, 并且提供了类似数据库管理的功能,因此被称为记录管理系统( r e c o r dm a n a g e m e n t s y s t e m ,r m s ) 记录管理系统( r m s ) 提供了一种机制,通过这种机制,m i d l e t 能够持久存储 数据,并在以后检索数据。在面向记录的方法中,r m s 由多个记录存储构成,可以 将每个记录存储想象成一个记录集合,它将跨多个m i d l e t 调用持久存在。设备平 台负责在平台正常使用的整个过程( 包括重新启动、换电池等) 中,尽全力维护 m i d l e t 的记录存储的完整性。记录存储在与平台相关的位置( 比如非易失性设备存 储器) 创建,这些位置不直接公开给m i d l e t 。r m s 类调用特定于平台的本机代码, 这种本机代码使用标准o s 数据管理器函数来执行实际的数据库操作。 记录存储的实现确保所有单个的记录存储操作都是原子的、同步的以及序列化 的,因此多个访问将不会出现数据毁坏。记录存储被盖上时间戳来指示它上次被修 改的时间。记录存储还负责维护版本号( v e r s i o n ) ,它是一个整数,修改记录存储内 容的操作每发生一次,这个数加一。版本和时间戳对于同步目的很有用。但是当 m i d l e t 使用多个线程访问一个记录存储时,同步访问控制是m i d i e t 的责任;如果 出现访问冲突,将会出现无法意料的结果。 记录存储中的每个记录是一个字节数组,并且有唯一的整数标识符。 要使用记录管理系统,需要在应用程序中引入包j a v a x m i c r o e d i t i o n r m s ,它提 供了几个方法来创建记录存储的实例以及增加、获取、修改和删除记录存储中的记 剥6 1 。 1 ) 打开记录存储 记录存储的实例并不能直接构造,而必须通过如下的静态方法构造,方法声明 为: p u b l i c s t o i cr e c o r d s t o r eo p e n r e c o r d s t o r e ( s t r i n gr e c o r d s t o r e n a m e ,b o o l e a n c r e a t e l f n e c e s s a r y ,i n ta u t h m o d e ,b o o l e a nw r i t a b l e ) t h r o w sr e c o r d s t o r e e x c e p t i o n , r e c o r d s t o r e f u l l e x c e p t i o n ,r e c o r d s t o r e n o t f o u n d e x c e p t i o n 该方法打开具有指定名称r e c o r d s t o r e n a m e 的记录存储,如果没有这个名称的 记录存储,那么就调用该方法来创建一个,并返回记录存储的实例,如果记录存储 已经打开,将返回对同一个记录存储对象的引用。 2 ) 增加记录 方法声明为: l o 华北电力大学硕士学位论文 p u b l i ci n ta d d r e c o r d ( b y t e 】d a t a ,i n to f f s e t ,i n tn u m b y t e s ) t l l r o w s r e c o r d s t o r e n o t o p e n e x c e p t i o n ,r e c o r d s t o r e e x c e p t i o n , r e c o r d s t o r e f u l l e x c e p t i o n 该方法将插入一条由字节数组d a t a 代表的记录,这个数组以o f f s e t 作为它的 起始索引,n u m b y t e s 作为它的长度,方法的返回值为新增加记录的i d 。 记录存储系统的存储方式为二进制字节存储,因此必须把相应的数据格式转换 为字节才能够增加记录,而且必须确保在记录已经创建或者打开的情况下才能够增 加条目。 3 ) 获取记录 记录存储的实现为类数据库系统,因此如果要修改或者删除数据,必须提供存 储的时候得到的记录i d 才能够查询记录,可以使用记录存储系统提供的高级接口 查询指定的记录。 方法声明为: p u b l i cb y t e 】g e t r e c o r d ( i n tr e c o r d e d ) t l l r o w sr e c o r d s t o r e n o t o p e n e x c e p t i o n , i n v a l i d r e c o r d i d e x c e p t i o n ,r e c o r d s t o r e e x c e p t i o n 方法返回指定记录的数据,与存入的数据相同,都为字节数组。 p u b l i ci n tg e t r e c o r d ( i n tr e c o r d l d ,b y t e 】b u f f e r , i n to f f s e t ) t h r o w

温馨提示

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

最新文档

评论

0/150

提交评论