已阅读5页,还剩61页未读, 继续免费阅读
(计算机科学与技术专业论文)支持下载的手机号码归属地查询软件的开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着手机性能的不断提高,手机增值业务的市场发展趋势己经逐渐明朗, 手机增值业务将是计算机增值业务以后的又一重要业务增长点。作者在充分分 析了当前手机增值应用市场的需求和发展趋势,以及其他手机应用的特点的基 础上结合实际开发经验,设计和实现了一个基于j 2 m e 的手机号码归属地查询系 统,该系统支持下载到手机上单机运行。系统采用j 2 m e 进行设计,主要是考虑 到j a v a 的跨平台性和可移植性,这样就可以避免市面上各种手机等移动终端设 备间的差异带来的平台不统一的问题,同时它强大的网络通信能力也能够在即 将到来的3 g 时代发挥重要的作用。本文以基于j 2 m e 平台的手机号码归属地查 询系统为线索,进行了相关理论的研究、试验和技术开发。研究重点主要集中 在系统所在w a p 网站创建、系统架构设计以及系统的实现等几个方面。w a p 网 站的创建运用w m l 语言进行设计,利用了j 2 m e 和w m l 结合的优点。系统的设计 根据功能的要求和m v c 模式的特点,分别从m i d p 主类,模型类,x m l 解析的实 现进行分析、设计。本文的最后给出了系统的运行结果。 关键词:j 2 m e ,r m s ,w a p ,手机查询 a b s t 蝴 a b s t r a c t w i t ht h ec o n t i n u o u si m p r o v e m e n to fp e r f o r m a n c eo fm o b i l ep h o n e s ,m o b i l e v a l u e - a d d e ds e r v i c e sm a r k e td e v e l o p m e n tt r e n dh a sb e e ng r a d u a l l yb e c o m e c l e a r m o b i l ev a l u e - a d d e ds e r v i c e sw i l lb eav a l u e - a d d e db u s i n e s sc o m p u t e ra f t e r a n o t h e ri m p o r t a n tb u s i n e s s g r o w t h a f t e r f u l l ya n a l y z e d t h ed e m a n da n d d e v e l o p m e n tt r e n do ft h em o b i l ep h o n ev a l u e - a d d e da p p l i c a t i o n sm a r k e n ta n dt h e c h a r a c t e r so fo t h e rc e l lp h o n ea p p l i c a t i o n ,诚mp r a c t i c a ld e v e l o pe x p e r i e n c e ,t h e a u t h o rd e s i g n e da n di m p l e m e n t e das 1 mc a r dl o c a t i o nq u e r ys y s t e ms u p p o r t i n g d o w n l o a db a s e do nj 2 m e t h es y s t e md e s i g n e db yj 2 m eb e c a u s ej a v ah a v ea g o o dt r a n s p o r t a b i l i t y a n d c r o s s - p l a t f o r m - a b i l i t y , s o w ec a na v o i dt h e p r o b l e mb r o u g h tb yd i f f e r e n c e si nm a n yc e l lp h o n e so ro t h e rm o b i l et e r m i n a lu n i t s a tt h es a l t l et i m e ,i t sp o w e r f u ln e t w o r kc o m m u n i c a t i o na b i l i t yc a np l a ya ni m p o r t a n t r o l e i nt h ec o m i n g3 gt i m e s b a s e do nt h eq u e r ys y s t e m ,t h i sp a p e rm a k ea c o r r e l a t i o nt h e o r e t i c a l s t u d y ,a n dd os o m ee x p e r i m e n t sa n dt e c h n o l o g i c a l d e v e l o p m e n t t h i sp a p e rf o c u so nt h eh o s tw a pw e b s i t e s ,s y s t e ma r c h i t e c t u r e d e s i g na n di m p l e m e n t ,e t c t h ew a pw e b s i t ed e v e l o p e db yw m l ,w i t ht h e a d v a n t a g eo fj 2 m ei n t e g r a t e dw i t hw m l a c c o r d i n gt ot h ef u n c t i o nr e q u i r e m e n t a n dt h ec h a r a c t e r i s t i co fm v cm o d e ,t h es y s t e ma n a l y z ea n dd e s i g nf r o mt h e i m p l e m e n to fm i d pm a i nc l a s s ,m o d e lc l a s s ,x m lp a r s e r a tl a s t ,t h er e s u l t so f a c t u a lr u n sw a sg i v e nb yt h i sp a p e r k e y w o r d :w i r e l e s s ,j 2 m e ,m o b i l ep h o n eb u s i n e s s i i 学位论文版权使用授权书 本人完全了解同济大学关于收集、保存、使用学位论文的规定, 同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版 本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、 扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供 本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有 关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前 提下,学校可以适当复制论文的部分或全部内容用于学术活动。 学位论文作者签名:j 虱关给 ) 叩譬年弓肚日 经指导教师同意,本学位论文属于保密,在年解密后适用 本授权书。 指导教师签名:学位论文作者签名: 年月日年月 日 同济大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行 研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文 的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的 作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集 体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任 由本人承担。 签名:闲萎企 9 0 0 8 年多月上日 第1 章引言 第1 章引言 几年前,当手机刚开始出现时,只是少许人用于展示其地位的道具,恐怕 当时很少有人想到,这个对老百姓而言只有在电影里才经常见到的又大又重的 东西,在短短几年时间里,竞成为大众的必需品。如今手机已从最初的通信工 具,演变成今大的一个多功能的电子设备。通话功能只不过是手机的基本功能, 而除通话外,手机短信,游戏,记事簿,上网等已成为用户购买手机产品时的 重要参考。目前,各大手机厂商陆续推出支持j a v a 应用程序的手机,这种集 成了j a v a 功能的手机可以让用户通过i n t e r n e t 自由的去下载和安装各种j a v a 游戏和应用程序,实现手机功能的扩展,于是,开发手机游戏及各种应用程序 就成了业界的一大热点。现在,越来越多的厂商在s u n 公司,摩托罗拉,西门 子等公司的技术支持下,开始开发基于j 2 m e 平台的无线应用服务,主要包括手 机游戏,动画屏保,电子地图等。近年来在世界范围内,手机业务已经成为整 个计算机领域的一大编程的发展趋势n 1 。 1 1 手机增值软件的国内外现状 根据英国i n f o r m a t i o n 媒体研究公布的统计数据,2 0 0 4 年手机增值业务的 产值已经达到5 8 7 亿美圆,比2 0 0 3 年翻了一番。该公司预计到2 0 0 7 年的产值 将达到目前的6 倍,增至3 8 亿美圆。 在国外,手机增值软件正在经历一个黄金发展时期。日本是手机软件产业 最发达的国家。虽然美国相对于日本及一些欧洲国家,在手机j a v a 方面的发展 相对滞后,但是在2 0 0 3 年,其手机增值业务市场的收入也已经达到1 6 0 0 万美 圆。有着多年成功运作模式的韩国和日本,在无线手机增值软件开发的优势显 而易见。在日本,娱乐内容的长期成熟发展,使日本成为历史悠久的手机软件 大国2 。 中国有着近4 8 亿的手机用户,即使只有1 0 的用户每月只下载一款手机 软件,也足以使其形成一个规模庞大的产业。但是目前仅有不足1 的用户下载 过手机软件,这使得这块被无数人看好的市场并没有达到和人们预期相吻合的 水平。准确的说,手机增值软件的开发和应用在2 0 0 4 年只能算是刚刚萌芽。 现在世界备个通讯运营商都积极向2 5 g 和3 g 移动通信迈进,网络带宽的 增加急需新的数据业务支持。手机上的应用程序的下载、多媒体内容的下载都 会显著地提高带宽的利用率,从而增加运营商的利润。j 2 m e 平台的c l d c ,m i d p 规范规定了手持移动终端的所有基本特征,保证了应用程序在各个终端上的可 第1 章引言 移植性和兼容性,为广大非手机设备制造商的软件开发商提供了统一的开发平 台,从而使j 2 m e 获得了广泛的应用: 目前计算机以及网络的普及,网络的安全性大家都注意到了,信息安全的 内涵也就发生了根本的变化。它不仅从一般性的防卫变成了一种非常普通的防 范,而且还从一种专门的领域变成了无处不在。但是由于手机的普及相对较慢, 所以大家对他的安全性还不是注意的太多。目前百分之五十的手机用户都不能 从被陌生用户骚扰的烦恼中解脱出来,如果能够开发一个查询对方号码归属地 的软件,无疑可以给用户提供了安全的“防火墙”。尤其是能够下载到自己的手 机上,不需要每次都要通过w a p 访问网络浪费m o n e y ,更有其必要性。 1 2 本文的研究重点 从2 0 0 5 年7 月起,笔者有幸进入这个领域,对此进行了比较深入的研究, 成功开发了手机号码归属地查询软件,对手机增值软件的开发有较深的认识和 理解。本文研究的重点主要放在w a p 网站的设计,系统的需求分析,r m s 数据 库的分析和设计以及系统的实现。 1 3 本文的组织结构 本文的结构如下: 1 、首先对手机增值软件的现状和重要性做了阐述。 2 、其次对手机增值软件的开发平台j 2 m e 做以介绍。 3 、然后,对手机号码归属地查询系统进行了设计,并从技术角度出发对系 统集成进行了阐述。 4 、最后对手机号码归属地查询系统主要模式进行了分析,对设计的各个功 能点进行了实现。 1 4 本章小结 本章介绍了手机增值软件的现状和其发展的前景,从而总结出了开发手机 号码归属地查询软件的工程应用价值。最后对本文的组织结构做了整体的介绍。 2 第2 章手机软件开发平台一- j 2 m e 体系结构介绍 第2 章手机软件开发平台- - j 2 m e 体系结构介绍 2 1 为什么选择j 2 m e 到目前为止,手机上的应用软件开发几乎都是基于j 2 m e 平台的,这是为什 么昵? 这是因为,随着无线i n t e r n e t 新应用的出现,手机软件的需求越来越大但 是如果使用c 语言和专有的实时操作系统,不仅开发速度慢,而且没有动态加 载应用程序的能力,导致手机上的应用程序开发很困难。一方面,单纯依靠手 机厂商自身的软件开发能力难以满足市场的需求,另一方面广大的软件开发商 却又无法参与进来,这无疑极大地制约了新应用的推广与普及。其次,目前的 手机访问i n t e r n e t 只能通过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 0 1 ) 方式,而 且只能访问w m l ( w i r e l e s sm a r k u pl a n g u a g e ) 网页,而不是主流的h t m l 网页, 不能显示复杂的图形格式,此外,w a p 采用的b r o w e r s e r v e r 方式访问i n t e r n e t , 能提供的功能很有限,并且,因为现有的w a p 解决方案不够智能化,又不能访 问本地存储区,如果进行在线交易会增加服务器负荷,使服务器的反应速度变 慢,使无线i n t e r n e t 的应用受到了很大限制h 1 。 j 2 m e 啼1 的出现则使上述问题迎刃而解。因为j 2 m e 是基于j a v a 语言的,所以 它天生就具有以下优点: 1 动态内容传输。新的应用、服务和内容可以通过不同类型的网络动态下 载。 2 安全。类文件校验、明确定义的应用程序编程接口和安全组件确保了第 三方应用程序的行为是可靠的,不会对设备或者网络造成损害。 3 交叉平台的兼容性。标准化语言组件和库意味着由于支持j 2 m e 配置和 描述所带来的约束使应用和内容可以在不同设备之间灵活地传输。 4 离线获取。,不用激活网络连接,应用就可以被使用。这种特点降低了 传输费用,减轻了可能的网络故障带来的影响。 5 一种功能强大的现代面向对象的编程语言。j a v a 相对于当前用于无线 软件开发的编程语言和工具来说具有更加完善的抽象机制和更高级的程序构 造,这使得应用开发更加有效。 6 巨大的开发者团队。据估计,在全球有一超过3 0 0 万的j a v a 软件开发 者。j a v a 也正迅速地变为和c 语言一样在学院和大学里被用于教学的流行的编 程语言。 第2 章手机软件开发平台一j 2 m e 体系结构介绍 这些特性使第三方软件开发商可以很容易地介入应用程序的开发,并且可 以很方便地将应用程序安装到手机上,开发周期也大大缩短,而且还能支持应 用程序的动态下载和升级。j 2 m e 提供了h t t p 协议支持,使手机能以p c 机使用 的c l i e n t s e r v e r 方式直接访问i n t e r n e t 的全部信息,此外还能访问本地存储 区,提供最高效率的在线交易1 。j 2 m e 应用程序除了能够更好地完善手机上已 有的应用外,还进一步增加了字典、图书、游戏、遥控家电和定时提醒等新的 应用,并能访问电子邮件、即时消息、股票和电子地图等信息。将j 2 m e 技术应 用到手机上绝不是强制的,最重要的一点是这种应用是通过补充现有的技术和 标准循序渐进地完成的,而不是同这些现有的技术和标准竞争。j 2 m e 并没有为 无线设备定义一个新的操作系统或者一个完整的系统软件,只是定义和标准化 了一种可移植的无线应用开发环境,主要是针对第三方开发商,将设备软件开 发向第三方开放,这个环境可以灵活地附加到设备制造商开发的已经存在的软 件和硬件之上,并且不会对已经存在的系统软件造成影响。这才是j 2 m e 大获成 功的真正原因1 2 2j 2 m e 概述 2 2 1j a v a2 平台划分 认识到一种结构不可能适应所有的情况,所以,s u n 公司1 将j a v a 划分成3 个不同的版本,每个版木都针对当今计算机产业中的一个特定领域: 1 j 2 e e ( j a v a2p l a t f o r l n ,e n t e r p r i s ee d i t i o n ) ,用于企业为客户、供应商和员 工的可升级的服务器解决方案。 2 j 2 s e ( j a v a2p l a t f o r m ,s t a n d a r de d i t i o n ) ,用于常见的桌面计算机市场和低 端商务应用提供解决方案。 3 j 2 m e ( j a v a 2p l a t f o r m ,m i c r oe d i t i o n ) ,用于消费产品和嵌入式设备的最 佳解决方案。它们之间的关系如图2 1 所示: 图2 1j a v a 体系结构图 4 第2 章手机软件开发平台一j 2 m e 体系结构介绍 2 2 2j 2 m e 概念 到底什么是j 2 m e 呢? j 2 m e 是s u n 公司于1 9 9 6 年6 月推出的、专门为资源 受限的小型消费性电子设备的应用程序开发提供的新j a v a 版本,目前已经被广 泛地用于手机、p d a 个人数字助理、汽车导航系统以及电视机顶盒等众多小型 资源受限设备中,有着非常好的发展前景阻1 。它的主要技术优势在于: 有良好的跨平台能力,实现了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 提供良好物和人力 支持等。 2 3j 2 m e 的配置和描述 j 2 m e ,从问世开始就专门为内存容量小和处理能力较低的移动设备作为 j a v a 开发平台而设计的。从表面上看,这样对那些希望提升应用程序的移植性 的开发者来说是一件好事,然而,“移动设备 这个术语却涵盖了相当广泛的领 域,包括传统的个人数字助理( p d a ) ,智能电话、传呼机甚至g p s 单元等,它们 都具有各不相同的硬件配置。同样的,这类设备的市场也支离破碎,同一供应 商的两种设备之间都存在兼容性问题,更别说不同设备供应商的产品了,在很 多情况下简直就是乱七八糟。给这些五花八门的移动设备提供一种普遍适用的 开发平台几乎是不可能的。所以j 2 m e 定义了两种类型的规范,它们携手提供一 种移动j a v a 台,这两种规范就是配置( c o n f i g u r a ti o n ) 和描述( p r o f il e ) n 们。 2 3 1 配置( c o n f i g u r a t i o n ) j 2 m e 通过对配置的抽象来处理大量千差万别的移动设备硬件功能。j 2 m e 的 配置定义了特定设备可用的虚拟机和低级a p i ,同时提供相应的开发基础。目 前可用的配置有两种,它们是连接设备配置( c d c ,c o n n e c t e dd e v i c e c o n f i g u r a t i o n ) 和有限连接设备配置( c l d c ,c o n n e c t e dl i m i t e dd e v i c e c o n f i g u r a t i o n ) n 。连接设备配置c d c 应用于相对内存量较大、更强处理器的 移动设备。c d c 规范采用了内存优化的虚拟机,也就是所谓的j v m ,通过它提供 等同标准j v m 的特性。按照s u n 的文档说明,c d c 针对新型p d a ,智能通讯设备 和机顶盒之类的高端设备。为了能够受到c d c 支持,移动设备必须至少具备以 下条件: 1 用于c v m 和j a v aa p i 库的2m b 内存。 5 第2 章手机软件开发平台一j 2 1 e 体系结构介绍 2 3 2 位微处理器或者控制器。 3 可用网络连接,最好是高带宽连接。 4 连结有限设备配置c d c 的要求有利于昂贵的手机、i r 扫描仪或类似产 品c l d c 则主要针对那些更轻便、更便宜、不能满足c d c 要求的设备。 5 最低1 6 0 k b 的内存,其中1 2 8 k b 用于k v m 和运行时库 6 最低1 6 位2 5 一姗z 处理器。 7 有限的用户界面功能。 8 没有( 或者间歇的) 低带宽网络连接。 2 3 2 描述( p r o f i e ) 如果说配置为应用程序提供了硬件抽象基础,那么,描述则对应用程序的 软件接口进行了抽象。描述专门针对特定配置定义了一整套j 2 m e 应用程序可用 的a p i 类,它完善了配置,为某个具体的设备类别或某个具体的应用程序提供 更高的性能。这里的关键就是描述只是完善配置,没有配置和虚拟机提供应用 程序核心类接口和运行时环境的话,描述也不会工作。通常,描述为一种给定 的设备类别提供用户界面、输入法、持久性存储机制。这类描述被认为是发展 这些设备应用程序的完整工具包。 s u n 公司推出了两种可用的j 2 m e 描述:基础描述( f o u n d a t i o np r o f i l e ) 和 移动信息设备描述( m i d p 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 ) u2 l 。基础描 述主要用于c d c 配置,因而其虚拟机几乎等同于标准的虚拟机。这意味着,使 用基础描述的开发人员可以访问完整实现的j 2 s e 特性集。m i d p 连同c l d c 一道 为开发移动设备应用程序提供了j a v a 台。m i d p 支持j 2 s e 类库的有限子集和 c l d c 配置上定制的用户接口和输入输出类3 。 2 4j 2 m e 体系结构 j 2 m e 的体系结构n 4 3 是基于设备的类别的。一个类别定义了一个特定种类的 设备:手机、简单寻呼机和电脑记事本都是单独的类别。为了支持有限连接设备 类别所要求的那种灵活性和可定制性,s u n 公司将j 2 m e 体系结构设计成模块化 的和可伸缩的。j 2 m e 技术在一个完整的应用程序运行时模型中定义了这种模块 性和可伸缩性,在该模型中的三个软件层都构建在设备的主机操作系统上。图 2 - 2 描述了j 2 m e 的体系结构: 6 第2 章手机软件开发平台一- j 2 m e 体系结构介绍 图2 - 2j 2 e e 体系结构 1 主机操作系统层( h o s to p e r a t i n gs y s t e ml a y e r ) :这一层为特定硬件设 备的操作系统层。 2 j a v a 虚拟机层( j a v av i r t u a lm a c h i n el a y e r ) u 钉:这层是j a v a 虚拟 机的一个实现,它是为特定设备的主机操作系统定制的,支持一个特定的j 2 m e 配置。 3 配置层( c o n f i g u r a t i o nl a y e r ) :配置层定义j a v a 虚拟机的功能和特定 类别设备上可用的j a v a 类库的最小集。从某种程度上说,一个配置定义了j a v a 平台的功能部件和库的共同性,开发者可以假设这些功能部件和库在属于某一 特定类别的所有设备上都是可用的。这层对用户是透明的,但它对描述的实现 者非常重要。 4 描述层( p r o f il el a y e r ) n 司:描述层定义了特定类别设备上可用的应用 程序编程接口的最小集。描述在一个特定的配置上实现。应用程序是针对特定 的描述编写的,因此可以移植到支持该描述的任何设备上。一个设备可以支持 多个描述。用户和应用程序开发者看到最多的就是这一层。j a v a 虚拟机层、配 置层和描述层一起为j 2 m e 应用程序提供了一个标准的运行时环境,这个环境允 许新的应用程序和服务动态地被安装到备种终端用户设备上。在手机上,k v m , c l d c ,m i d p 分别实现了j 2 m e 体系结构中的j a v a 虚拟机层、配置层和描述层。 下面,作者通过对k v m ,c l d c ,m i d e 的详细介绍,以加深读者对手机上的j 2 m e 体系结构的认识。 2 5k v m 2 5 1k v m 概念 c l d c 和m i d p 都是运行在s u n 公司的k v m 上n 。k v m 是一个专门为小型、资 源受限设备所设计的紧凑的、便携的j a v a 虚拟机。j a v a 虚拟机是j a v a 程序语 7 第2 章手机软件开发平台一j 2 肛体系结构介绍 言的核心,只要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 程序不是被底层的c e u 直接执行,而是被“虚拟c p u 执行的,所谓的虚拟c p u 其实就是计算机上执 行的一个特别软件。虚拟机的优点甚多,比如移植方便,只需要移植虚拟机和 相关的支持程序库到新的硬件架构上,所有上层的应用程序都不需要更动就完 成移植了。虚拟机的另一个好处是它在计算机软硬件间加入一抽象层来分离和 保护,可以防止恶作剧的程序暗中搞鬼( 比方说删除文件或破坏内存) 。 2 5 2k v m 特征 k v m 设计的高级目标是生成尽可能小且完整的j a v a 虚拟机,它具有以下特 征: 1 小型的,虚拟机核心所占有的静态存储空间在4 0 k b 一8 0 k b 之间( 与编译 选项和目标平台有关) 。 2 清晰的,具有良好的注释和高可移植性。 3 模块化,可定制。 4 在不牺牲其它设计目标的前提下尽量完善和高速。k v m 中的“k ”代表 “千( k i l o ) ”。这样命名是因为它的内存容量是用几十k b 来衡量的( 而桌面系 统是用兆( m ) 甚至是用千兆( g ) 来衡量的) 。k v m 典型地应用于数字移动电话、传 呼机、p d a ,p o s 终端、家用智能电器等等设备上面。 2 5 3k v m 实现 k v m 实现所需的最小内存空间大约是1 2 8 k b ,包括虚拟机、最小的库运行 j a v a 应用程序所需的堆空间。一个更加典型的实现是需要总共2 5 6 k b 内存空间, 其中3 2 k 作为应用程序运行时的堆空间,6 0 8 0 k b 用于虚拟机木身,剩余的为 类库保留。由于受到严格的内存容量限制,k v m 因此缺乏一些完整j v m 所提供 的特性,这意味着,你可能要改变自己的编程风格了。使用c l d c 的开发者在编 译程序之后必须预先采用j 2 m e 开发工具包所提供的一种检查工具对他们的源 代码进行预校验。k v m 在目标设备中真正的任务会非常不同。在一些实现中, k v m 常常是位于本地软件栈之上使设备具有在其上下载和运行动态、交互、安 全的j a v a 程序的能力,手机上的k v m 就属于这种情况。在另一些实现中,k v m 被用于底层同时也用j a v a 编程语言实现底层系统软件和设备应用。为了满足基 第2 章手机软件开发平台一j 2 肛体系结构介绍 于k v m 的设备一般只有狭小的内存空间和有限的处理能力的事实,k v m 是用c 语言编写( 它不是现有的改进了的以后的产品) 的,所以只要有c 语言编译器, 它就可以方便地移植到各种平台上。此外,k v m 是模块化的,也就是说,它是 由模块构建的,当某个模块实现了预先设定的目标后,就可以很容易地把这一 模块卸载。可选的模块包括:大的数据类型( 1 0 n g ,f l o a t 、和d o u b l e ) 、多维数 组、类文件验证等n 引。 2 6 配置( c l d c ) 2 6 1 什么是配置 j 2 m e 中,所有的应用程序都是针对特定的描述( p r o f i l e ) 编写的,而描述 是基于或者扩展了一个特定的配置( c l d c ) 。因此,配置所有的特征都会包含到 描述中并且可以被为这个描述编写的应用程序所使用。配置定义了一个j a v a 平 台,这个平台具有相似的对于内存容量和其它硬件特征的要求。更加明确的说 明配置包括: 1 指定了支持的j a v a 编程语言的特征。 2 指定了支持的j a v a 虚拟机的特征。 3 指定了支持的基本j a v a 库和a e i 。 每个配置详细指定了j a v a 语言和虚拟机的特征和一套库。从而描述的实现 者以及使用述的应用程序可以安全地认为当设备出厂的时候这些特征和类库都 是存在的。描述的实现者必须将他们的代码限制在配置所标明的特征和类库范 围内。简单地说,配置为设备制造商和描述实现者定义了“最低公共标准 平 台或者构建块。所有具有大体相同的内存容量和处理能力的设备都要实现定义 在配置中的所有特征。描述的实现者要同意只使用配置定义的特征。因此,可 移植性通过这个配置就在描述和设备之间实现了。 在j 2 m e 环境中实现配置层最重要的原因是横跨大量不同产品平台实现的 核心j a v a 库总是同一个j a v a 虚拟机的实现紧密地结合在一起。在配置规范中 很小的差别就需要对一个j a v a 虚拟机的内部设计进行大的改动,并且可能会需 要附加一些物理内存,维护这样的改变是非常昂贵且费时的。数量很少的配置 意味着很少数量的j a v a 虚拟机实现就可以满足大量的描述和大量不同硬件设 备类型的需求。这个j 2 m e 所提供的经济上的尺度对于在消费类和嵌入式工业中 获得成功并带来效益是非常重要的n9 。 9 第2 章手机软件开发平台一j 2 m e 体系结构介绍 2 6 2c d c 和c l d c 为了避免混乱,j 2 m e 只有相当有限数量的配置。到目前为止,只有两种标 准的j 2 m e 配置可用: 1 c l d c 啪1 这个配置致力于低端的消费类设备,c l d c 的目标设备典型的例 了包括个人的、移动的、电池供电的、互联的信息设备象手机、双向传呼机和 个人信息管理器。这个配置包括一些新的类,并非全部来自j 2 s e 的a p i ,而是 特别为适应小型设备而设计的。 2 c d c :这个配置致力于高端的消费类产品。c d c 的目标设备典型例子包括 共享的、互联的信息设备象电视机机顶盒、i n t e r n e t 电视和端的通信设备。这 个配置包含了比c l d c 更加复杂的j a v a 库和虚拟机的集合。 图2 3 表明了j 2 m e 的两种配置和j 2 s e 之间的关系。正如图中所示,c l d c 和c d c 的大部分功能派生自j 2 s e ,从j 2 s e 环境中派生的类必须完全与j 2 s e 环 境中的类相符合或者是其子集。另外,c l d c 和c d c 引入了一些并非来自j 2 s e 的特征,这些是专门为适应小型设备而设计的。 2 6 3c l d c 范围 图2 - 3c l d c ,c d c ,和j 2 s e 之间的关系 1 j a v a 语言和虚拟机特征 2 核心j a v a 类库( j a v a 1 a n g 木, 3 输入输出 4 网络 5 安全 6 国际化 c l d c 配置不包括下列领域的问题, 来解决2 1 1 : j a v a u t i l 木) 这些特征由位于c l d c 上面的描述实现 7 应用程序的生存周期管理( 应用程序的安装、发布、删除) 8 用户界面 9 事件处理 1 0 高级应用模型( 用户和应用程序间的交互) l o 第2 章手机软件开发平台一- j 2 晡j e 体系结构介绍 2 6 4c l d c 特征 1 安全 2 遵守j a v a 语言规范 3 遵守j a v a 虚拟机规范 4 要求类文件验证 j 2 e e 和j 2 s e 为桌面计算机和服务器的企业级应用和开发提供了非常丰富 的库函数瞳2 。不幸的是这些库需要几十兆的内存来运行,因此并不适合于资源 受限的小型设备。所以c l d c 针对小型受限设备重新制定了一个类库。为了保证 应用程序的兼容性和可移植性,包括进c l d c 的大多数类库都是j 2 s e 中规定的 子集,其它一些是由c l d c 规定的专用于移动设备的类。包括:从j 2 s e 中继承的 类、国际化支持类、系统属性类、c l d c 专用类四个方面。 2 7 移动信息设备描述( m id p ) 2 7 1 移动信息设备描述 应用的可移植性是j a v a 在桌面计算机和企业服务器市场上最重要的优 点。同样,在消费类设备中j 2 m e 的价值所在的关键一点依然是它的可移植性。 不过,在消费类设备中对于可移植性的要求同桌面和服务器市场中的要求完全 不同。在大多数情况下,消费类设备在内存大小、网络和用户界面的处理能力 方面具有相当大的差异,使得很难用一种解决方法来支持所有的设备。 一般来说,消费类设备市场并非是相似的,最终用户也不期望或者要求通 用的应用可移植性。相反,从消费者的角度来看,应用在相同的产品家族中做 到理想的完全可移植就行了。例如,考虑下面类型的消费类设备: 1 移动电话 2 洗衣机 3 带通信功能的电动玩具 可以清楚地看到上面的每一件产品都代表了一个不同的市场类别、设备家 族或者应用领域。因此,消费者将会期望有用的应用可以在一个设备家族中移 植。 例如: 1 股票经纪人希望同样的股票交易程序能工作在不同的手机上,即使手机 是由不同的制造商生产的。 第2 章手机软件开发平台一j 2 m e 体系结构介绍 2 在互联网上发现一个很有用的去油渍的洗衣程序,但如果它只能够用于 较老型号的洗衣机上而不能用于新型的洗衣机上的话,消费者会对此感到失望。 3 消费者的电动玩具和另一个不同品牌的电动玩具不能够相互“交流”, 这也是很让人沮丧的事。 另一方面,消费者并不希望股票交易程序能正常运行在洗衣机上或者电动 玩具上,也就是说,跨不同设备家族的应用程序的可移植性并不是很重要。此 外,这种设备家族的分割还有一个很重要的经济原因:消费类设备在成本和方便 实用性方面的竞争非常激烈,这些因素会直接影响到消费类设备的物理尺寸重 量、处理器性能、存储器容量和电能消耗( 使用电池供电的设备) 。消费者总喜 欢选择那些恰恰能满足他们需求的产品,对那些包括许多不需要的功能的多功 能但价格昂贵的设备并不感兴趣。因此,j 2 m e 提供了描述的概念,使得可以为 特定的设备家族定义相同的j a v a 平台3 。描述可以满足两种明显不同的可移植 性需求: 1 描述为在一个特定的设备家族实现应用提供了完整的工具,比如传呼机、 机顶盒、移动电话、洗衣机或智能玩具。 2 可以创建一种描述来支持重要的、一致的一组应用,这些应用可能会在 几种不同的设备上运行。例如,尽管机顶盒、传呼机、移动电话、洗衣机之间 的区别很大,完全有理由为每一类设备定义一个单独的描述,但是在这些设备 之间实现可移植性对于一些很有用的应用如个人信息管理、家庭银行等应用来 说是非常有利的。这可以通过为这些类型的应用创建单独的描述来实现,只要 确保每个目标设备的针对特定设备的描述也可以对这个新的描述提供很好的支 持就行了。 一个单一的设备可以支持几个描述。这些描述中的一些可能是面向设备的, 而另一些可能是而向应用的。一个为特定的描述编写的应用程序只能使用该描 述所定义的特征。虽然制造商可以选择他们的产品将支持哪个或哪些描述,但 是一旦做出选择,他们的产品必须实现所选择的描述的所有特征。对消费者来 说这种观点的价值在于为一种特定的描述写的应用可以在任何支持这种描述的 设备上运行。 简单地说,描述就是应用和市场的设备家族之间的协议。处于同一个设备 家族中的所有设备都必须实现其描述所定义的特征,并且要求应用只使用这个 特定描述所提供的功能。因此,通过这个描述就可以在应用和设备之间实现可 移植性。新的设备就可以直接使用大量的、常见的基础应用。最重要的一点是 新的、更吸引人的应用( 也许根本就没有被设备制造商和描述定义者所预见) 可 以动态地下载到已经存在的设备上使用。 1 2 第2 章手机软件开发平台一j 2 m e 体系结构介绍 在实现层次上,描述被简单地定义为应用在特定配置上的j a v aa p i 和类库 的集合,同时为市场中特定的设备家族提供了附加的面向特定领域的功能。 在上而的例子中,三个设备家族中的每一种设备( 移动电话、洗衣机和智能 玩具) 都可以通过一个不同的j 2 m e 描述来定义。 2 7 2 五种规范化描述 现在,已经有了五个规范化了的描述,如表2 - 1 所示: 表2 - 15 种规范化描述 描述名称下层配置 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 ec l d c p e r s o n a ld i g i t a la s s i s t a n tp r o f i l ec l d c f o u n d a t i o np r o f il ec d c p e r s o n a lp r o f il ec d c r m ip r o f i l ec d c 2 7 3m l 呻设备的需求 这里所列的需求都是处于c l d c 之上的附加需求,在高层次上m i d p 规范假 定移动信息设备在它的处理能力、存储、连接特性和显示屏大小上受到限制。 ( 1 ) 硬件需求 m i d p 目标设备的硬件要求如下: 内存: 1 2 8 k 非易失性存储器用于m i d p 组件。 2 8 k 易失性存储器用于应用程序创建的固定数据。 3 3 2 k 易失性存储器用于j a v a 运行时。 非易失性( n o n - v o l a t i l e ) 乜钔瞳存储器是指当用户在关闭设备和打开设备期 间,仍能保持其内容不丢失。这里通常认为对非易失性存储器的操作是都只读 模式的,进行写操作需要特殊步骤。非易失性存储器的例子包括只读存储器 ( r o m ) 、闪存( f l a s h ) 和有后备电池的s d r a m 。 易失性( v o l a t i l e ) 存储器是指在用户关闭设备后不保存它的内容,通常认 为对它的操作包括读模式和写模式,对它的访问不需要特殊步骤。易失性存储 器最常见的类型是d r a m 。 这里谈到的存储需求只用于m i d p 。c l d c 和其他系统软件对内存的需求超出 了这个规范的范围,因此不包括在内。 1 3 第2 章手机软件开发平台一j 2 m e 体系结构介绍 1 显示屏 2 屏幕尺寸:9 6x5 4 3 显示深度:1 位、 4 像素形状( 外形比例) 1 :l 5 输入 6 单手键盘:工t u t 电话键盘 7 双手键盘:q w u r t y 键盘 8 触摸屏 9 网络 1 0 双向 1 1 无线 1 2 间断性 1 3 有限带宽 移动信息设备的典型例子包括移动电话、双向寻呼机、具备无线功能的p d a 等。 ( 2 ) 软件需求 对于具有前面所提硬件特征的设备,它们的软件能力也有很大的范围。和 消费者的桌面计算机模型不同,后者具有大型的、垄断性的系统软件体系结构, 而m i d p 范围内有众多的系统软件,例如一些m i d p 有功能完全的操作系统,支 持多进程和层级文件系统:而另一些可能只有很小的、基于线程的操作系统,没 有文件系统的概念。乜6 1 面对这种多样性,m i d p 对移动信息设备的系统软件需求 做了最小假设,规定如下: 1 管理底层硬件的最小内核( 即处理中断、异常和小型调度等) 。内核必须 提供至少一个可调度实体来运行j a v a 虚拟机( k v m ) ,内核不必支持单独的寻址 空间( 或进程) ,也不必保证实时调度或者延迟行为。 2 具有从稳定存储中读写的机制,以支持持久存储操作。 3 对设备无线网络的访问( 读、写) ,以支持连网操作。 4 提供基于时间操作的基本机制,支持用于持久存储中记录的数据戳和 t i m e r 组件的基本操作。 5 提供写点阵图像显示屏的最小能力。 6 提供从三种输入方式中的一种或几种捕获用户输入的机制。 7 提供一个管理设备上应用程序生存周期的机制。 1 4 第2 章手机软件开发平台一j 2 胚体系结构介绍 2 7 4 川d p 规范覆盖的范围 移动信息设备描述( m i d p ) 规范是设计用来扩展受限连接设备配置( c l d c ) 规 范的功能范围的瞳7 1 。m i d p 规范定义了对于不同的移动信息设备来说通用的小功 能集合,以获得更强的移植特性。它包括: 1 应用程序生命周期( 即定义m i d p 应用程序的语义以及它是如何被控制 的) 。 2 用户界面或u i ( 包括显示和输入) 支持。 3 持久存储支持。 4 网络支持。 5 计时支持。 由于同样的原因,一些领域内的功能没有在m i d p 规范之内定义,这些功能 包括: 1 系统级a p i :m i d pa p i 的重点是应用开发,而不是系统编程,因此与 系统接口相关的低级a p i ,比如电源管理、语音编解码等都不在m i d p 中定义。 2 应用程序发布和管理:这里都假定m i d p 兼容的设备将支持动态应用程序 下载,由于全球无线基础结构的多样性,要指定应用程序如何下载是不现实的。 例如,在低带宽无线网络中,使应用程序通过无线链路传递到设备上可能不可 行。相反,这些设备可以选择应用程序通过串行链路或其他物理链路传递。不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学二年级道德与法治安全游戏教学设计
- 2025注册安全工程师真题库附含参考答案
- 2026不动产登记代理实务受理环节答疑解答试题(含答案)
- 2026广东省商业航天产业发展有限公司社会招聘考试参考题库及答案
- 2026年(重点)水利安全员B证近年考试真题题库及答案
- 小学二年级信息技术第3课《动画与背景音乐》教案设计
- 2026年中国电信国际公司人员招聘参考题库及详细答案解析
- 高一劳动技术《酱香浓郁的酱猪蹄》教学设计
- 2026年1月病历书写基本规范培训试题有答案
- 2026年广东移动人员招聘考试题库及详细答案解析
- 第1讲-创新思维概述
- DB11∕T 2068-2022 政务服务综合窗口人员能力与服务规范
- 2025年氯代碳酸乙烯酯行业分析报告及未来发展趋势预测
- 2025年电子产品质量标准评估研究报告
- 完整版施工现场生活垃圾处置方案
- 消息类稿件培训课件
- 普通逻辑-杜国平-【教材】普通逻辑(全国)
- 人教版2024版历史八年级上册第四单元 第11课《五四运动》说课稿
- 供应商入驻管理规定
- 新星石油公司新疆库车绿氢示范项目环评报告
- CJ/T 94-2005饮用净水水质标准
评论
0/150
提交评论