(计算机软件与理论专业论文)基于j2me的无线应用安全性分析与研究.pdf_第1页
(计算机软件与理论专业论文)基于j2me的无线应用安全性分析与研究.pdf_第2页
(计算机软件与理论专业论文)基于j2me的无线应用安全性分析与研究.pdf_第3页
(计算机软件与理论专业论文)基于j2me的无线应用安全性分析与研究.pdf_第4页
(计算机软件与理论专业论文)基于j2me的无线应用安全性分析与研究.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

(计算机软件与理论专业论文)基于j2me的无线应用安全性分析与研究.pdf.pdf 免费下载

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

文档简介

摘要 随着无线通信技术的发展及手机的普及,要求手机等信息设备更为智能化、 个性化,功能更加强大,能够方便地使用i n t e r n e t 资源。通过手机等移动设备下 载并运行大量的程序来提供更为多样的服务成为当前一个重要的发展方向。 j 2 m e ( j a v a2p l a t f o r mm i c r oe d i t i o m 凭借j a v a 语言的易用性、跨平台性、资 源占用率低等优势成为了开发手机软件的首选。 然而,手机等移动设备毕竟计算能力低、存储容量小,所以仅仅依靠手机终 端本身来计算、存储并提供信息依然有一定的局限性。于是,手机通过无线通信 网来访问i n t e m e t 和后端j 2 e e q a v a2p l a t f o r me n t e r p r i s ee d i t i o n ) n 殴务器联合搭建 移动应用,在服务器端运行大量计算从而使j 2 m e 客户端获取大量信息成为一种 有效的解决手段。 本文对如何提高基于j 2 m e 的无线应用的安全性从运行在移动终端的 m i d p ( m o b il ei n f o r m a t i o nd e v i c ep r o f i l e ) 的安全性以及客户端j 2 m e 与服务器端 j 2 e e 集成联合搭建移动应用时的安全性两个方面进行了深入探讨和研究。 最后基于对j 2 m e 安全体系结构和j a v a 语言安全特性深入分析的基础上结 合大量理论及实践经验提出了开发安全的j 2 m e 程序的1 1 条原则,同时采用 x m l 作为无线前端和服务器后端| i u j 的数据传输格式,针对无线设备自身内存小、 计算能力有限的特点,提供了x m l 数字签名技术在j 2 m e m i d p 程序中的应用实 现,并给出关键代码。相信该实现将会为无线应用系统提供轻量级的安全解决方 案。 本文的工作主要面向j 2 m e 程序开发人员,具有很强的针对性和实用价值。 关键词:无线应用安全j 2 m ex m l 数字签名 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fw i r e l e s sc o m m u n i c a t i o nt e c h n o l o g ya n dl a r g e s c a l el l s eo fh a n d s e t s 。i n f o r m a t i o nd e v i c e sl i k eh a n d s e ta r ee x p e c t e dm o r ei n t e l l i g e n t a n dp e r s o n a l i z e dw i t hs t r o n g e rf u n c t i o n st h a tc a nu t i l i z ei n t e m e tr e s o u r c e sm o r e c o n v e n i e n t l y h a n d s e t sd o w n l o a d i n g ,r u n n i n gm a n yp r o g r a m sa n dp r o v i d i n gm o r e a n dm o r ev a r i o u ss e r v i c e si sah o tt r e n dc u r r e n t l y s u c ha d v a n t a g e sm a k ej 2 m eb eo p t i m u ms e l e c t i o nt od e v e l o ph a n d s e ts o f t w a r e a si t su s a b i l i t y , p l a t f o r mi n d e p e n d e n c y , a n dl o wr a t i oo f r e s o u r c eo c c u p a t i o n h o w e v e ri n f o r m a t i o nd e v i c e si i k eh a n d s e th a ss m a l lm e m o r ya n dc o m p u t a t i o n a b i l i t yi sl i m i t e d ,s oo n l yd e p e n do nt h eh a n d s e tt e r m i n a lt oc o m p u t e ,s t o r ea n d p r o v i d ea b u n d a n ti n f o r m a t i o nw i l lb ei i m i t e d o nt h i sb a c k g r o u n d 。w ec a ng e tav e r y e f f e c t i v es o l u t i o ni nw h i c ha b u n d a n tc o m p u t a t i o ni se x e c u t e da tj 2 e es e r v e rb a c k e n d a n dt h eh a n d s e tc l i e n to n l yn e e dt or e c e i v ec o m p u t a t i o nr e s u l t s b yt h i sw a y , h a n d s e t s c a ne m p l o y e ei n t e m e tr e s o u r c e st h r o u g hw i r e l e s sc o m m u n i c a t i o nn e t w o r ka n dw ec a n d e s i g nw i r e l e s sa p p l i c a t i o nc o m b i n i n gs e r v e rb a c k e n do f j 2 e e t h i sp a p e rd e e p l ys t u d i e st h es e c u r i t yo fm i d pi nh a n d s e tt e r m i n a la n d i n t e g r a t i n go fj 2 m ec l i e n tw i t hj 2 e e r v e ri no r d e rt oi l l u s t r a t eh o wt oi m p r o v et h e s e c u r i t yo f w i r e l e s sa p p l i c a t i o nh a s e do nj 2 m e f i n a l l y , o nt h eb a s i so fa n a l y s i so ft h es e c u r i t ya r c h i t e c t u r eo fj 2 m ea n dt h e s e c u r i t ye h a r a c t e r i s t i co fj a v ai n t e g r a t i n gw i t ha b u n d a n tt h e o r e t i c a la n dp r a c t i c a l e x p e r i e n c e ,t h i sp a p e rp r o v i d e sllr u l e st od e v e l o ps e e u r i t yj 2 m ea p p l i c a t i o n a tt h e s a m et i m ew ea d o p tx m la sd a t at r a n s f o r mp a t t e r nb e t w e e nw i r e l e s sf r o n t e n da n d s e r v e rb a c k e n d a i m i n ga tt b ec h a r a c t e r i s t i e so fl o wm e m o r yc a p a c i t ya n d1 i m i t e d c o m p u t i n ga b i l i t yo fw i r e l e s se q u i p m e n t , w ep r o v i d ea p p l i c a t i o nf o rx m ld i g i t a l s i g n a t u r et e c h n o l o g yi nj 2 m f j m i d pp r o g r a m s u n d o u b t e d l yi tc a nh e l pu si m p l e m e n t l i g h tw e i g h t e ds e c u r es o l u t i o n sf o rw i r e l e s sa p p l i c a t i o n t h i sp a p e rf a c e so nj 2 m ep r o g r a m m e ra n dh a v eag o o da p p l y i n gp r o s p e c t k e yw o r d s :w i r e l e s sa p p l i c a t i o n ,s e c u r i t y , j a v a2p l a t f o r mm i c r oe d i t i o n , e x t e n s i b l em 缸k u p1 加g u a g e ,d i g i t a ls i g n a t u r e 原创性声明 y7 3 2 1 二9 本人郑重声明:本人所呈交的学位论文,是在导师的指导下 独立进行研究所取得的成果。学位论文中凡引用他人已经发表或 未发表的成果、数据、观点等,均已明确注明出处。除文中已经 注明引用的内容外,不包含任何其他个人或集体已经发表或撰写 过的科研成果。对本文的研究成果做出重要贡献的个人和集体, 均已在文中以明确方式标明。 术声明的法律责任由本人承担。 沦文作者签名:。瑟。毒盛 日期:壁茎! ,芏猡 关于学位论文使用授权的声明 本人在导师指导下所完成的论文及相关的职务作品,知识产 权归属兰州大学。本人完全了解兰州大学有关保存、使用学位论 文的规定,同意学校保存或向国家有关部门或机构送交论文的纸 质版和电子版,允许论文被查阅和借阅;本人授权兰州大学可以 将本学位论文的全部或部分内容编入有关数据库进行检索,可以 采用任何复制手段保存和汇编本学位论文。本人离校后发表、使 用学位论文或与该论文直接相关的学术论文或成果时,第一署名 单位仍然为兰州大学。 保密论文在解密后应遵守此规定。 论文作者签名:墨鑫盔。导师签名:丝援:这日期:醚斯一 艰fj 2 m e 地光线盹厢立个性分甜f j 埘究 揶啦概述 第一章概述 1 1 研究背景 大家应该已经感觉到。手机的瞢及率越来越高利【 j 手机和别人沟通已经成了我们生活 的一部分在许多发达国家,人们已经开始利用手机购买商晶或是进行商务活动;移动电话 的许多跗加功能更是年轻人文化的一部分面对即将来临的3 g 和无线宽频技术,带给了我 们对无线通讯来来的美好期待。 现在人们不但希望手机有强大的通讯功能也希望它有丰富的娱乐功能和其他更多的智 能服务、个性化的互动服务。比如:动态产生个性化的股市服务,显示图形、动画、实时路 况、天气报告、数字照像,玩游戏等,并要求部分服务能直接在客户端执行。为了提供如此 生动的服务除了移动通信系统必须能给终端用户在无线装置上提供接入互联网的功能,提 供一个广大的个人交互式服务环境之外手机必须具有下载并运行各种程序的能力。 现在尽管有了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 ,个人数字助理) 和手机结合的产品出现,但 其中的缺陷大家应该也发现了。那就是应用程序的不足我们可以在p a l m o s 、w i n d o w sc e 、 e p o c 等p d a 上使用c ,c 卜+ 或j a v a 编写这些平台上的应用程序却从未有机会将我们写好 的程序下载到手机上执行,不过这种状况已经得到了很大的改观。现在已经有了在手机上开 发程序的s d k ( s o f t w a r ed e v e l o p m e n tk i t ,软件开发工具包) 。然而手机平台在传统上是一 个封闭的系统,有不同的撵作系统,不同的硬件环境,这意味着程序开发者必须针对各个平 台设计程序。于是可蛆跨平台的j a v a 不管是对程序员或是对使用者而言,成了一个极佳的 解决方案。 j 2 m e ( j a v a2m i c r oe d i t i o n ) 是s u n 针对手机等嵌入式设备而开发的新一代j a v a 平台 j 2 m e 技术在1 9 9 9 年的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 2 m e 究竟魅力何在呢? 回顾移动电话的发展历史 我们不难发现移动电话上应用软件的发展也经历了三个阶段。传统的移动电话通常只有通话 和短消息功能,只能提供基本的语音服务。随后移动电话上又增加了一些简单的附加应j i i , 如电话簿和电话铃声编辑功能等。而现在随着w a p ( w i r e l e s sa p p li ( :a t i o np r o t o c o | ,无线 应埘协议) 技术的发展移动电话增加了访问i n t e r n e t 的功能。使川户可以直接在手机上以 无线方式浏览网页。然而,随着无线i n t e r n e t 新应用的出现,新的问题也随之而来。 首先面临的是开发瓶颈的问题。目前手机类嵌入式系统普遍使用c 语言和专用的实时 操作系统,开发速度慢。也没有动态加载应用程序的能力。移动电话上应用程序的开发变得 基十j 2 m e 地无线hj f 】宜争性分析,i j 宄第一章概述 越来越幽雄+ 一方面j m 纯依靠| ! 帆厂商n 身的软干1 :开发能力娥以满址j l j 场的需求,兄一方面 j l 火的软件开发商却义无法参与进来,开发适用r 移动也话的麻州科序。这无疑极大地制约 了新应用的摊广与普及 其次。移动电话访问i n t e r n e t 只能通过w a p 方式,而w a p 采删b r o w s e r s e r v e r 方式访闯 i n t e r n e t 功能有限。现在的w a p 解决方案要求手机通过w a p 网荚l 能访 d i n t e r n e t ,而且只能 访问删l 而不是主流的h t m l 。也不能显示复杂格式的图形。此外,因为现有的w a p 解决方案不 够智能,而且不能访问本地存赭区,如累进行在线交易会增加服务器负荷,反戍速度慢,使 无线i n t e r n e t 应用受到了很大的限制 j 2 m e 的出现则使上述问题迎刃而解。因为j a v a 语言是跨平台运行的,这一特性使第三方 软件开发商可以很容易地介入应用程序的开发,也可以很方便地将应j j 程序安装移植到移动 电话上开发周期也大大缩短,而且还能支持应用程序的动态下载和升级。j 2 m e 提供了h t t p 高级i n t e r n e t 协议,使移动电话能以c 1 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 除了能够更好地增强完善移动电话上已有的应用外还进一步增加了字典、圈:1 5 、 游戏、遥控家电雨i 定时提醒等麻朋并能访问屯子邮r i :、即时 f j 息、股票乖| 电子地图等信息 因此,j 2 m e 对于手机领域来说具有很重要的意义目前来说,如何使不同标准的手机能 运行同一标准的程序成为必须要解决的问题。 由上可见,j 2 m e 正是凭借j a v a 语言与平台无关、开放、网络功能强、面向对象、安全 等特点,成为了开发手帆软件的首选。 j 2 m e 是s u n 公司对标准的j a v a 版本j 2 s e 做了最火程度的鞘简后得到的一种j a v a 应 用程序运行环境,在擐简单的情况下他只有几十l ( b ,特别适合在手机、p d a 等设备中使用。 采用j a v a 语言后,各种手机只要实现j a v a 虚拟机( j v m ) 和j 2 m e 规范就可以从网络下载并运 行程序并且无需实时在线,这样可以为心户减少很多在线时间,充分仃约了费用。对运营商 而言,也能避免由于过多用户同时在线而导致的网络过载,减轻了网络的负担于是,对 w a p 产生致命影响的速度不会成为制约j a v a 手机发展的障碍。可以说j 2 m e 是目前情况下 晟为理想的一种解决方案 j a v a 手机具有很强的交互性。现阶段手机上的文字式静态内容将被j 2 m e 技术提供的交 互式服务所取代。同时由于标准的开放性使应蹦程序只需开发一次就可以在任何无线设 备上使用,内容的开发将更为方便。 鉴于j a v a 在i n t e m e t 上取得的巨大成功,我们有理由相信j 2 m e 能够把这种成功延伸到手 2 基于j 2 m e 地无线地用安全抖分析与研究第一一审概述 持设备领域,为将来的手机乖i 互联网融为一体提供有利的条件。j a v a 手机的出现也给软件行 业提供了新的机遇能否给j a v a 手机提供足够多的软件资源造关系到其能否推广的重要因素 之一。 1 2 研究内容及意义 然而,在无线互联网蓬勃发展手机运行程序的能力夫大加强功能越来越丰富的同时, 也潜在出现了同计算机界同样的严重问题安全性问题。在软件方面,与p c 机类似,手 机同样存在病毒、黑客入侵、d o s 攻击、信息泄漏等多个方面的安全问题 随着手机智能化的程度越来越高支持j a v a 的手机人鼍涌现运行在手机上的代码将会 越来越多手机嫡毒将会愈演愈烈其未来传播能力与危害能力也就无法估测。手机病毒的 原理和计算机病毒差不多。同样是一种程序,由代码编写而成能够传染并具有破坏性。 智能手机手持设备具有更大的存储量,更强的信息处理能力,犬部分内置了软件操作 系统,可以上网、收发邮件、执行程序用户可以任意安装和卸载软件,可以做各种网络操 作黑客利用智能设备的这种能力,利用这些系统本身存在的缺陷和提供的功能,将会对手 机展开攻击,窃取用户信息。 无线互联网是一个开放的网络,开放网络是不安全的,在其上进行数据传送是不安全的。 可以看出,基于j 2 m e 的无线应用有着广阔的前景,但是在这样一个无线应用环境下, 安全性势必成为一个重要的、急需研究并值得关注的问题开发出能在手机端安全运行的 j 2 m e 程序的实际意义毋容置疑。研究弗提出一些高效的适用于j 2 m e 的安全技术和解决方 案是当务之急 本文介绍了基于j 2 m e 的手机软件开发过程,并仔细分析了j 2 m e 的安全结构和安全特 性,进而讨论了如何多方面地保护基于j 2 m e 的无线应用的安全,特别是基于c l d c m i d p 的小型设备上的无线应用的安全,晟后在前述基础上具有针对性地提山了开发安全j 2 m e 代 码的1 1 条原则。当运行在手机客户端的j 2 m e 程序与后端j 2 e e 服务器联合搭建移动应用时 介绍了通过数据加密,数字签名,代码签名、安全网络协议等技术来保证传输数据的安全性 同时采用x m l 作为无线前端和服务器后端间的数据传输格式,针对无线啦舞自身内存小、计 算能力有限的特点,提供了x m l 数字签名技术在j 2 m e m i d p 程序中的应用实现,并给出关键 代码。相信该实现将会为无线应用系统提供轻量级的安全解决方案。 本文提出的开发原则和安全解决方案必定能给j 2 m e 开发人员在提高安全性方面提供 帮助。 皋十j 2 m e 地无线成j l l 安伞件分析jj 研究第二帝基tj 2 1 1 e 的手机程序设计 第二章基于j 2 m e 的手机程序设计 2 1j 2 m e 及m i d p 2 1 1 j 2 髓简介 在j a v a 手机中使用的基本平台是j 2 m e ,手机中的基本榉序称为m i b p 程序或者m i d l e t j a v a 是由s u nm i c r o s y s t e m s 公司所开发出的,非常适台1 :开发网络程序的语言。它凡 有简单、独立于平台、面肉对象、分布式、健壮、结构中立、可移植、解释性、高效率、多 线程、动态的特征。j a v a 发布时,在i n t e r n e t 网上引起了很人轰动。 目前,j a v a 已发展到j a v a 2 。j 8 v a 2 平台有3 个版本,它 j 是:适阁于小型没备和智能 卡的j a v a 2 平台m i c r o 版( j a v a 2p l a t f o r mm i c r oe d i t i o n j 2 i 4 e ) 、适f j 于臬面系统的j a v a ? , 平台标准版( j a v a 2p l a t f o r ms t a n d a r de d i t i o n ,j 2 s e ) 、适埘于创建服务器应用程序和服 务的j a v a 2 平台企业版( j a v a 2p l a t f o r me n t e r p r i s ee d i t i o n ,j 2 e e ) 。这三种版本从j a v a 语言的角度上是一致的,但在功能的裁减、系统的架掏、应用的环境等方面叉各有特色手 机的应用都是基于j 2 m e 的j 2 m e ,j 2 s e ,j 2 e e 三者的关系可以用图2 - l 来表示: 其中j 2 e e 的功能包括了j 2 s e 的功能而j 2 s e 的功能包括了j 2 m e 的功能,j 2 i e 中还 包括了s m a r tc a r d ( 智能卡) 的功能。 j 2 m e 是针对嵌入式设备及消费类电器的j a v a 版本。根据s u n 的定义:j 2 艇是一种高度优 化的j a v a j 鲕 环境,主要针对消费类电子设备的,例如蜂窝电话和可视电话、数字机顶盒、 汽车导航系统等等。如应用于手机( 移动电话) ,可以使手机具有电话簿和电话铃声编辑功 能、记事本功能、字典、图书、游戏、遥控家电和定时提醒等新的应,并能访问电子邮件、 4 基于j 2 m e 地七线戍用宣仝性分析捕| 究第二孽基于j 2 崛的手机程序设计 即时消息、股祟和电 f 地幽等信息。 j 2 m e 将j a v a 语言与平台无关的特性移植到4 、型电子设备上,允许移动无线设备之问共享 应用程序,可以将第三方的软件方便地集成到各种设备中。 2 1 2 j 2 m e 的体系结构 为了支持删户和嵌入式市场提出的灵活性的和可定制性的要求s u n 把j j m e 的实现分 为两层:配置层( c o n f i g u r a t i o n ) 和框架层( p r o f i l e ) 。 配置层:这一层相对予框架层,代表一种底层的、基本的应用稗序接口,包括虚拟机 ( v i r t u a l m a c h i n e ) 、一组核心的类库与a p i 。配置层对用户可见度要低一些。但对框架层 是非常重要的。该层给开发人员提供了一个最基础,最核心的j a v a 平台。 框架层;在配置层基础之上的是框架层p r o f il e ( 也叫规范) ,用于特殊设备的额外的应 用程序接口。它定义了高层的、特定于设备的a p i 库,包括g u i 、连网和持久存储a p i 等。 框架层在特定的配置层上实现,而应用则是建立在特定的框架层上只要设备支持相同的框 架层,针对特定框架层开发的应用程序就可以移植到其他设备上。一个i 殳备可以支持多个框 架层。框架定义了虑用程序所支持的设器类型。特别地,它向j j u e 配簧添加了特定于域的 类来定义设备的某种作用。 j 2 m e 的体系结构如图1 - 2 所示 各种j a v a 应用程序 p r o f i l e 配置 l i b r a r y 库 c o n f i g u r a t i o n j v m 虚拟机 宿主操作系统 硬件平台 型2 - 2j 2 m e 体系结构的分层 2 1 3c l d c s u n 公司将为箨种硬件规模的设备提供合适的配置这些配置包括虚拟机、核心类库及 皋十j 2 m e 地光线心 l 安全性分析j 训究 笫一带 基jj 2 m g 帕手帆| | 5 序设训 a p i 。 j 2 m e 将所有的嵌入武设备人体上分为两种:一种楚运算功能有限、i g j j o t , 廊有限的嵌 入式设备( 如p d 、手机) ;另外一种则是运算能力较佳,行在电力供应上相对比较充足的 嵌入式设备( 如空调、电冰箱、电视机顶盒) 。针对这西种嵌入式设备、设计实现了2 种配 置:有限连接i 殳备配置c l o c ( 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 ) 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 d c 规范采 】了内存优 化的虚拟机,也就是所谓的c v m 通过它提供等同标准j 1 l i 的特性 c l d c 是为手机等c p i j 和内存资源远低于标准j a v a 要求的设备所提供的一种配置,它是 对j a v a 标准版本做了最大程度的缩减后得到的其虚拟机和核心类库多于l o o k b ,采用了更 轻型的虚拟机,设计为在较低内存环境下运行这种j v m 的实现也就是所谓的k y m ( 千字节 虚拟机) ,虚拟机的大小是以千字节( k b ) 度量的。姒的设备需求如下: 最低1 6 0 k b 的内存,其中1 2 8 k b 用于k v m 和运行时库; 最低1 6 位2 删h z 处理器; 有雕的用户界面功能; 没有( 或者间歇的) 低带宽网络连接。 由于受到严格的内存容最限制,因此k v m 缺乏一些完捂的j v m 所提供的特性。使| jc l d c 在编译程序之后必须采用j 2 舵开发工具包所提供的“预先审核”工具对程序进行检查。 其实配置中不仪定义了这些设备至少要符合的运算能力、供电能力、内存人小规范,同 时也定义了一组在这些设备上运行的j a v a 程序所能使_ i ;l j 的类函数库。这些规范所定义的类 函数库为j a v a 标准核心类函数库的子集合以及与该型态设备特性相符的扩充类 2 1 4l i o p 与m i o l e t 配置给各种嵌入式设备提供了能运行j a v a 程序的一种环境,但开发者还很难在这种环 境下开发程序,首先因为配置层核心库提供的是低级a p i ,不适合直接t i l 于构建应_ l i 程序:其 次。嵌入式设备的系统结构千差万别,很滩保证应用程序的图形界面、嘲络等功能的移植性 因此,为了进一步增强j 2 i e 的功能,s u n 公司允许设备供应商在实现配置层的基础上再为自 己的设备提供专门的高级a p i 及程序管理方法。即框架。以简化应用程序的开发,使程序有更 好的移植性。 框架定义了与特定嵌入式设备相关的扩充类函数库。例如有关j a v a 程序住备种嵌入 式设备上的用户接口就是定义在p r o f i l e 中的。p r o f i l e 之中所定义的扩充类函数库是根据 6 接卜j 2 m e 地尢线应用安余性行折j l j 究 第一章 基于j 2 m e 的手机程序设计 底层c o n f i g u r a t i o n 内所定义的核心类函数库所建立的。 框架的规格是逐渐发展的,目前主要的p r o f i l e 规格主要有:建立在c l d c 之上的m o b i l e i 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 ) 以及架设在c d c 之上的 f o u n d a t i o np r o f i l e 及p e r s o n a lp r o f i l e 等 虽然已经制定的规格比较多但得到,“泛应月的主要是m i d p 。m i d p 主要用丁- 编写p d a 和手机上的应用程序。 与a p o l e t 相似,基丁m i d p 规范的应用程序称为m i d l e t 其含义是m i d p 的小麻_ 】程 序。m i d p 应用程序的结构与a p p l e t 的结构非常类似,不同之处是m i d p 应用程序没有m a i n0 方法,并且它总是m i o l e t 类的扩展类。 以下是一个最简单的m i o l e t 应用程序的基本结构: i m p o r tj a v a x m i c r o e d i t i o n m i d l e t : i m p o r tj a v a x m i c r o e d i t i o n i c d u i : p u b li cc l a s sf i r s t m i o l e te x t e n d sm i d l e ti m p l e m e n t s c o m m a n d l i s t e n e r 实现事件接口 p r i v a t ed i s p l a yd i s p j a y : p u b li cf i r s t m i o l e t ( ) f 构造函数 d i s p l 8 y = d i s p l a y g e t d i s p l a y ( t h i s ) : l p u b l i cv o i ds t a r t a p p 0t h r o w sm i d i e t s t a t e c h a n g e e x c e p t i o n d i s p l a y = d i s p l a y g e t d i s p l a y ( t h i s ) : 启动 p u b li cv o i dp a u s e a p p0f 暂停 p u b l i cv o i dd e s t r o y a p p ( b o o l e a nu n c o n d i t i o n a l ) t h r o w s m l o l e t s t a t e c h a n g e e x c e p t i o n 退出时调用 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 es ) ( ) 它必须要继承一个特定的类m i d l e t 这样m l d l e t 管理者才能控制他的运行。这个类包 含了s t a r t a p p p a u s e a p p ,d e s t o r y a p p 三个户可以重载的方法,分别在m i d l e t 进入运行状 态、停j r 运行、退出时调用。m i d p 程序一般要和各种资源文件一起压缩成一个j a r 文件。 发布时,还需要有一个扩展名为j a d 的描述文件,他包含了m i d p 程序的名称、版本、j a r 文 件的位置及人小等信息。j a v a 手机首先要访问的是描述文什,再根据描述文引:的信息把m i d p 程序安装到本手机,然后才能运行。 7 基十j 2 m e 地光线应用安令性分析j 研究第一:苛 基于j 2 弧的f 机程序设计 _ i i d p 程睁真实的运行环境是j a v af - 机只有在支持j a v a 们手桃 :软什才f l a i l - 常运行。 一般来说m i d p 穰片;开发过聪先是狂台式机上模拟,模拟成功后辩将其硬化到手机中。 2 2m i d l e t 的开发过程 2 2 1工具 各种不同的j a v a 版本在其支持的核心类函数库完整性以及所支持的j a v a 基本类型这 两件事情上都有所差异,但是不管开发企业所使用的j a v a 程序、嵌入式设备上远行的j a v a 程序、浏览器上运行的a p p l e t ,还是在p c 上运行的应川程序,都必须在汁算机上先安装j 2 s e , 然后再安装各种版本的核心类函数库以及额外的扩充类函数库才能开发各种不同的j a v a 程序。 由于开发j a v a 程序需要用到j 2 s d g ( j a v a2s o f t w a r ed e v e l o p m e n tx i t ) ,所以要求在 机器上首先安装j 2 s d k 。 对于开发m i d p 而言,还需要相应的j 2 w e 软件。目前市面上有许多支持m i d l e t 的集成开 发工具。推荐使用s u n 提供的j 2 髓开发工具j a v a2m i c r oe d i t i o nt i r e l e s st o o l k i t ( 耵k ) , 利用它可以较方便地进行w i d p 的编译、运行、配置和管理。 2 2 2 m i o l e t 开发步骤 l i d l e t 的开发流程可以分为咀一f j r , 个步骤: ( 1 ) 编写源程序,即j a v a 文件。 ( 2 )编译,生成c a s s 文仆。 ( 3 )预先审核( p r e v e r i f y ) 。 ( 4 )编写描述文件,即j a d 文件。 ( 5 ) 台成j a r 文仆。 ( 6 ) 使_ h j 模拟器或实际手机来执行。 在这些步骤中如果某步出现错误,则需要改正后,雨进行后一步的操作。f 面以一个名n q h e l l o m i d l e t 的程序为例简单介绍一卜这几个步骤。 i 编写源程序,即j a v a 文件 编写m i d l e t 的源程序可以用各种文本编辑器和专用的j a v a 程序编辑器。 源程序l l e l l o m i d l e t j a v a 给出如下: h e ll o m i d ie t j a v a i m p o r tj a v a x m i c r o e d i t i o n m i d l e t : 8 摧j 一 2 m e 地见线坶j j kt 棒分析j 埘究 鲰秣基i jj 2 1 1 e 的手帆程碍设计 i m p o r tj a v a x m i c r o c d i t i o o 1 c d u i + : 1 p u b i i cc l a s sh e l l o m i d l e te x t e n d sm i d l e ti m p l e m e n t sc o m a n d l i s t e n e r p r i v a t ec o m m a n de x i t c o m m a n d : p r i v a t ed i s p l a yd i s p l a y : p u b li ct l e l l o m i d l e t0f d i s p l a y = de s p l a y g e t d i s p l a y ( t h i s ) : e x i t c o m a n d = n e wc o m m a n d ( ”e x i t ”c o m m a n d s c r e e n ,2 ) : p u b l i cv o i ds t a r t h p p ( ) t e x t b o xt = n e w t e x t b o x ( “b e l l o w i d l e t ”,”m o b i l e 世界你好”,2 5 6 ,0 ) ; t a d d c o m m a n d ( e x i t c o m m a n d ) t s e t c o m m a n d l i s t e n e r ( t h i s ) : d i s p l a y s e t c u r r e n t ( t ) : p u b li cv o i dp a u s e a p p ( ) ) p u b li cv o i dd e s lr o y h p p ( e o o l e a nu n c o n d i t i o n a l ) 1 p u b l i cv o i dc o m m a n d h c t i o n ( c o m m a n dc d i s p l a y a b l es ) i f ( c = = e x i t c o m m a n d ) d e s t r o y h p p ( f a l s e ) : n o t i f y d e s t r o y e d0 : 1 ) 2 编译,生成c l a s s 文件 编译时需要用到2 s d k 中的j a v a c e x e 可以月以下命令对j a v a 源程序进行编译:j a v a c n e l l o w i d l e t j a v a 如果程序没有错误 那么在程序目录下就会产生h e l l o w i d l e t c l a s s 文件。 3 预先审核( p r e v e r i f y ) j a v a 编洋器并不会检查程序是否符合备种平台上所支持的核心类函数席与j a v a 基本类 型因此,这些程序在放到目标平台之前应先做好检查和预先审核的一f 作。在j a v a 开发工 q 螭rj 2 m e 地七线心i i j 立余性分劓i j f | j 宠 2 n 址j :j 2 m e 的平机捌j 弘醴i i 其中,有一个“顶先审孩器”来完成这些if 1 :。 预先审核器除了做检鸯器之外还有一项重要的功能:减轻目标平台上虚拟机的负担。 例如,在传统的j a v a 程序中,为了安全上的考虑,任何进入运行环境的类文件,都必须先 经过b y t ec o d e 审核器( b y t ec o d ev e r i f i e r ) 的验证,咀防i i :程序在传送途中遭到恶意的 修改而使得j a v a 程序在运行时对系统有不良影响。经过小仫之后,该类义f h 能外始被 j a v a 虚拟机所运行。如果这个审核的操作在一般韵p c 上运行速度倒是还能接受,可是一 旦放到如手机这些c p u 速度较懂、内存也比较少的机器上面就显得十分困难了。为了节省 c p u 运算时间( 既能省电叉能加速程序运行) ,应在产生能够让某些特定平台运行的类文件 之前,必须先在p c 上使用预先审核器做一些前置的审核工作,预先审核器会在类文件之中 加入一些特殊标记或符号。这样,当这些程序放到目标平台上运行时,就可以大幅减少在目 标平台上做审核时的时间从而加速程序的激活及运行速度。 审核后的文件直接覆盖了原来的c l a s s 文件。 可以用以下命令进行审核:p r e v e r i f yh e l l o m i d l e t 4 编写描述文件,即j a d 文件 描述文什( d e s c r i p t o r ) 的作用是对所要发椎的m i d l e t 的信息进行描述。用文本编辑 器编写一个名为h e l l o m i b l e t j a d 的文件,内容如下: m i d l e t - n a m e :h e l i o r l d m i d l e t - v e r s i o n :1 0 m i d l e t v e n d o r :s u nm i c r o s y s t e m s ,i n c m i d l e t d e s c r i p t i o n :s a m p l eh e l l ow o r l dm i d l e t m i d l e t i n f o u r l :h t t p :j a v a s l l n c o m j 2 m e m i d l e t j a r u r l :1 1 e l l o m i d l e t j a r m i b l e t j a r - s i z e :t 0 2 0 w i c r o e d i t i o n - p r o f i l e :m i d p 2 0 t l i c r o e d i t i o n - c o n f i g u r a t i o n :c l t ) c 一2 0 m i d l e t 一1 :h e l l o w o r l d ,h e l l o m i d l e t 5 台成j a r 文件 将相关的文件( 如c l a s s 文忭、j a d 文件、图像文件蒋) 合成一个j a r 文f l :,以便 予网上发布和在实际的手机上运行。 用命令:j a rh e l l o w i d l e t j a rh e l

温馨提示

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

评论

0/150

提交评论