(计算机应用技术专业论文)通用数字终端服务框架template的研究和应用.pdf_第1页
(计算机应用技术专业论文)通用数字终端服务框架template的研究和应用.pdf_第2页
(计算机应用技术专业论文)通用数字终端服务框架template的研究和应用.pdf_第3页
(计算机应用技术专业论文)通用数字终端服务框架template的研究和应用.pdf_第4页
(计算机应用技术专业论文)通用数字终端服务框架template的研究和应用.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(计算机应用技术专业论文)通用数字终端服务框架template的研究和应用.pdf.pdf 免费下载

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

文档简介

摘要 近年来,随着无线移动通讯、计算机、微电子、嵌入式系统等技术的飞速发展, 各种新的移动增值业务应运而生,移动终端的样式和种类也极大的丰富起来,手机因 其携带方便成为人们使用频率最高、更换频率最高的必需品。同时,人们对手机上的 附加应用功能需求不断增加。 本文所述的t e m p l a t e 技术是一种能让各类数字终端快捷地利用各种资源内容服务 的技术,由装载在服务器上的服务& u i 内容生成服务端软件和搭载在用户终端上的显 示执行引擎客户端软件所组成。它是一种灵活的服务框架,可以根据应用需求定制服 务流程。它采用s v g 图形文件来表达u l 信息,具有无极缩放、跨平台等优点。 本文详细描述了t e m p l a t e 服务器端设计以及其在手机j 2 m e 平台上的s v g 显示执 行客户端的设计和实现,并在t e m p l a t e 框架的基础上实现了一个移动学习系统的演示 程序。 关键词:s v g ;m o b i l es v g ;t e m p l a t e ;m i d p 2 o ;j 2 m e 论文类型:应用研究 a b s t r a c t n o w a d a y s ,t e c h n o l o g i e so fc o m m u n i c a t i o n ,c o m p u t e r , m i c r o e l e c t r o n i c sa n de m b e d d e d s y s t e ma r ed e v e l o p i n ga tv e r yh i g l ls p e e d m a n yn e wk i n d so fv a l u e a d d e dm o b i l eb u s i n e s s a p p e a r e d s t y l e so fm o b i l et e r m i n a l se n r i c h e d m o b i l ep h o n e sh a v eb e c o m eo u r n e c e s s i t y b e c a u s eo fi t sc a r r y i n ge a s i l y i ti so n eo fn e c e s s i t i e sw h i c ha r eu s e da n d c h a n g e dm o s t f r e q u e n t l y m e a n w h i l e ,t h ec u s t o m e r sd e m a n d sf o r t h ee x t r aa p p l i c a t i o n so nt h em o b i l e p h o n ei n c r e a s e ds t e a d i l y t e m p l a t et e c h n o l o g yi n t r o d u c e di nt h i se s s a yp r o v i d e saw a yo fa c c e s s i n gi n f o r m a t i o n q u i c k l yf r o md i f f e r e n td a t as o u r c e sf o rv a r i o u sd i g i t a le q u i p m e n t s i tc o n s i s t so fs e r v e r s o f t w a r et h a tc r e a t e ss e r v i c ea n du if i l e sa n dc l i e n ts o f t w a r et h a td i s p l a y su if i l e sa n d i m p l e m e n t sc o m m u n i c a t i o nw i t hs e r v e r i ti saf l e x i b l es e r v i c ef r a m e w o r kw h i c hp r o v i d e s t h ec u s t o m i z a t i o no fs e r v i c ep r o c e s sa c c o r d i n gt oa p p l i c a t i o nr e q u i r e m e n t s i nt e m p l a t e t e c h n o l o g y , s v gf i l e sa r eu s e dt oe x p r e s su ii n f o r m a t i o nw h i c hi si n d e p e n d e n to fp l a t f o r m a n dc a ns c a l en i c e l yt oa r b i t r a r yr e s o l u t i o n s i nt h i sp a p e r , w ed i s c u s st h ed e t a i l e dd e s i g na n d i m p l e m e n to ft e m p l a t es e r v e rw h i c hi s aw e bs e r v e ra n dc l i e n tw h o s em a i nf u n c t i o ni ss v g f i l ev i e w e rb a s e do nj 2 m ew h i c hi s s u p p o r t e db ym o s to fm o b i l ep h o n e s w ea l s oi m p l e m e n tad e m oo fm - l e a r n i n gs y s t e mb a s e d o l l t e m p l a t e k e yw o r d s :s v g ;m o b i l es v g ;t e m p l a t e ;m i d p 2 o ;j 2 m e p a p e rt y p e :a p p l i e dr e s e a r c h 论文独创性声明 本论文是我个人在导师指导下进行的研究工作及取得的研究成果。论文中除了特 别加以标注和致谢的地方外,不包含其他人或机构已经发表或撰写过的研究成果。其 他同志对本研究的启发和所做的贡献均已在论文中做了明确的声明并表示了谢意。 作者签名:抛号事日期:加只s 2 多 论文使用授权声明 本人完全了解上海师范大学有关保留、使用学位论文的规定,即:学校有权保留 送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容, 可以采用影印、缩印或其它手段保存论文。保密的论文在解密后遵守此规定。 作者签名:描车导师签名:日期:加d 夕5 衫 。翻肋 上海师范大学硕十学位论文 第一章绪论 1 1 研究背景和主题 第一章绪论 随着移动通信时代的来临,手机以其独有的优势成为人们工作、生活中不可或缺 的工具。近年来手机硬件和软件平台的迅速发展使得各种各样的手机应用如雨后春笋 般涌现出来。人们已不再满足于手机最基本的功能一一打电话、发短信。s v g 作为 w 3 c 组织制定和大力推广的基于x m l 的矢量图形标准,一经推出就得到众多知名厂 商的支持。作为s v g 技术的一个应用,s v g 在手机等无线手持设备上的应用将是3 g 时代最重要的应用之一。支持s v g 的手机,允许用户查看高质量的矢量图形及动画。 本文以夏普电子( 上海) 有限公司高科技研发中心的项目“用于t e m p l a t e 技术的 s v g 图形编辑工具”为背景,开展了对t e m p l a t e 技术的开发与应用推广的研究。t e m p l a t e 技术是一种基于s v g 的数字终端应用服务框架,是一种为各类数字终端提供来自不同 数据源的内容服务的技术。 论文的主题是研究t e m p l a t e 这一数字终端服务框架技术,在手机这种普及型的移 动设备上,基于j 2 m e 平台的应用模式。同时也对实现一个手机j 2 m e 平台上s v g 浏 览器的技术进行了探索。考虑到手机的运算能力、存储能力等方面的限制,所以研究 工作采用的是s v gn n y 规范。 本文研究的内容有以下几个方面: ( 1 ) 采用i o c ( i n v e r s i o no f c o n t r o l ,控制反转) 的核心概念,设计实现t e m p l a t e 服 务器端的基本功能。 ( 2 ) 采用s v gt i n y 规范,设计实现手机j 2 m e 平台上s v g 显示执行客户端软件, 探索j 2 m e 平台上s v g 浏览功能的实现技术。 ( 3 ) 基于t e m p l a t e 框架,通过元模板、服务m l 模板、连接器等的定制,实现一 个移动学习m 1 e a r n i n g 系统的演示。 1 2 国内外研究进展 s v g ( s c a l a b l ev e c t o rg r a p h i c s ) 是w 3 c 组织制定的一套基于x m l 语言的可缩放 矢量图形语言描述规范。目前s v g 的应用已经受到广泛的重视。a d o b e 公司的i l l u s t r a t o r 和g o l i v e ,目前已支持创建s v g 格式的图形;c o r e l 公司在c o r e l d r a w 中增加了对 s v g 的支持,用于生成数据驱动的动态图;j a s c 公司的w e b d r a w 能够以可视化的方式 创建s v g 格式的图像;p c x 软件公司推出s v g 写作工具e m o t i o mu i s m e d i a 公司发 第一章绪论上海师范人学硕士学位论文 布了m a p v i e w s v g 软件,是将a r c v i e w 图形转换成交互式s v g 图形的工具;d b x g e o m a t h i c s 的s v g m a p m a k e r 可以将m a p l n f o 文档转换成s v g 文档;m a l z + + k a s s n e r g m b h 公司宣布用于c a d 5 工作站s v g 图形输出的过滤器程序;g a r d o ss o f t w a r e 的 a c t i v e x 控件g s d x f 2 s v g d l l 可以将a u t o c a dd x f 文件转换成s v g 文档。 在所有软件中,s v gv i e w e r 应用最广泛,它是一种免费软件,由a d o b e 公司以网 络浏览器插件的形式提供。 2 0 0 2 年w 3 c 组织发布了m o b i l es v g 规范。它是s v g 技术规范的一个子集,继 承了s v g 所有的技术优势,同时更适合于在嵌入式设备中实现信息的存储和传送。根 据显示平台硬件规格及运算能力的差异,m o b i l es v g 可分为s v gt i n y 及s v gb a s i c 两种不同的规范。前者适用于移动电话等资源高度受限的移动设备,而后者适用于高 端的移动设备,如p d a 、机顶盒等设备。目前,该技术规范已经被3 g p p ( t h i r dg e n e r a t i o n p a r t n e r s h i pp r o j e c t ,3 g 合作伙伴项目) 组织采用作为2 5 g 和3 g 标准二维图形的应用格 式。在国内m o b i l es v g 还没有真正地被应用和推广,在s v g 的编辑、生成工具及应 用系统方面都还处于起步阶段。因此开展基于m o b i l es v g 技术的研究是一项比很有挑 战性,同时也是极有意义的工作。 伴随着3 g 时代的到来,互联网和移动通信服务发展趋于交融,移动通信技术的不 断更新也将推动全球移动商务应用市场的快速发展。欧洲、日本的移动商务处于世界 领先的地位,以n t t d o c o m o 、k d d i 、s k t 等日韩运营商为代表的运营商,借助3 g 网络的优势对移动增值业务的深入挖掘,使得移动增值业务在运营收入中的比例大大 提高,成为带动移动业务增长的新驱动力。面对用户的需求,移动商务服务内容也越 来越呈现多样化,全球移动商务市场运营商竞争也越来越激烈。 ( 1 ) 欧洲掌握着移动商务和移动互联网的最新技术。欧洲移动商务企业在将服务 推向市场时,在技术研发和标准制定上花费了巨大的精力。 ( 2 ) 欧洲用户对服务内容最为关注的是气候和交通信息。由于欧洲的许多国家中, 有大量的公司职员的工作地点和住址之问的路程比较远,对于上下班的交通和一天的 天气情况很关注。 ( 3 ) 日本注重移动商务的业务种类及服务内容开发。日本整体移动商务应用的业 务种类可以概括在娱乐、生活信息、交易信息以及数据库等几个方面。研究数据显示, 娱乐内容是日本移动商务业务中的最主要业务形式,占据整体业务内容的一半以上, 其次,信息类占2 0 ,交易占1 5 ,数据库占1 0 。 ( 4 ) 日本移动商务应用业务主要定位于青年人群。从移动商务用户年龄结构的分 布上,可以发现日本该类业务的市场基础主要集中在2 0 4 0 岁之间,1 0 岁左右的用户 是最大的潜在客户群。n t t d o c o m o 公司注重开发基于青少年的移动商务应用的服务 内容,而该类用户一般都热衷于娱乐内容。 2 上海师范人学硕士学位论文 第一章绪论 世界上己经有许多移动通信运行商都推出了基于j a v a j 2 m e 的数据增值服务应用, 并取得了巨大的市场成功。世界上主要的手机生产厂商几乎都生产并在销售j a v a 手机 或终端通信设备。许多的增值服务提供商和服务内容开发商正向j a v a 手机用户提供着 各种各样、无以计数的服务和应用。j a v a 无线数据增值服务为产业链的各方面和通信 市场创造了巨大的经济价值。 1 3 论文的组织结构 本文共分为七章: 第一章:绪论。对本文的研究主题、背景、国内外研究进展进行阐述。 第二章和第三章对t e m p l a t e 所使用到的关键技术进行了介绍,主要是j 2 m e 开发 平台的概念和体系结构,以及s v g 、m o b i l es v g 技术规范的介绍。 第四章简要介绍了t e m p l a t e 技术的整体设计思想、结构和优点。 第五章和第六章分别详细介绍了t e m p l a t e 服务器端和客户端的设计与实现,并给 出了用t e m p l a t e 框架实现的移动学习系统的实验结果。 第七章总结了本文的工作、创新点和进一步的工作。 第二章j 2 m e 应用开发技术上海师范大学硕十学位论文 2 1j 2 m e 的概念 第二章j 2 m e 应用开发技术 s u n 公司最初在开发j a v a 语言的时候,就本着“一次编写,到处运行的原则, 意欲使其具有完全的平台无关性。但是,随着j a v a 应用的领域越来越广,程序种类越 来越多,大到企业级的应用,d , n 手机等便携式数字设备上的应用,一套标准已经无 法再满足所有不同的需求。因此,目前j a v a 技术针对不同的平台和应用分为三种版本, 分别为: j a v a 2 标准版( j a v a2s t a n d a r de d i t i o n ) :主要用于桌面应用软件的开发。它包含 了构成j a v a 语言的一些核心类库,支持所有的j a v a 基本类型。 j a v a 2 企业版( j a v a2e n t e r p r i s ee d i t i o n ) :主要用于开发企业级的应用。它包含了 j a v a 标准版中所有的类,并且增加了对s e r v l e t s 、j s p 和x m l 等技术的支持。 j a v a 2 微缩版( j a v a 2m i c r oe d i t i o n ) :j 2 m e 主要用于消费类电子产品的应用开发。 例如手机、p d a 、智能卡、电视机顶盒等,实际上,j a 、,a 最初就是为了满足消费类电 子产品的应用需求而发明的。s u n 公司的技术文档中将j 2 m e 定义为“一种以广泛的消 费性产品为目标的高度优化的j a v a 运行的环境,包括寻呼机、移动电话、可视电话、 数字机顶盒和汽车导航系统。 j 2 m e 为这些嵌入式设备提供了强健、灵活的应用程序 运行时环境,而且可以容易地跨平台运行。目前几乎所有的手持设备都提供对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 中有两类虚拟机c v m 与k v m ,它们都是j v m 的子集,j v m 是j 2 s e 、j 2 e e 中的j a v a 虚拟机。j 2 s e 、j 2 e e 和j 2 m e 三种平台之间的 关系如图2 1 所示: 4 上海师范大学硕+ 学位论文第二章j 2 m e 应用开发技术 2 2j 2 m e 体系结构 图2 1j a v a 三种平台的关系图 j 2 m e 的体系结构是为了适应多种多样的设备类型而提出的,它是一种模块化的、 可伸缩的设计。它包括三个层次的规范,设备的操作系统提供底层的支持。图2 2 显示 了j 2 m e 体系结构的框图。 i 嗍( o p t i 。n a lp a c k a g e s ) 1i x 简表( p r o f i l e s ) ,l _ 配置( c o n f i g u r a t i o n s ) j a v a 虚拟机 -l 宿主操作系统 图2 2j 2 m e 体系结构框图 宿主操作系统层( h o s to p e r a t i n gs y s t e m ) :这一层为特定硬件设备的操作系统层。 配置层( c o n f i g u r a t i o n s ) :配置层包含了一个j a v a 虚拟机的实现,并且定义了一类 设备上可以使用的最少的j a v a 类库。从某种意义上说,一个配置定义了一类设备满足 的最小硬件需求和一些共同遵循的规范,即提供了一个在这类设备上可以使用的最小 的j a v a 类库。 第二章j 2 m e 应用开发技术上海师范大学硕士学位论文 简表层( p r o f i l e s ) :简表层是在一个特定的配置层的基础上定义的,提供了在满足这 一配置的设备上开发j a v a 程序的类库。一个设备可以支持多个简表,应用程序开发者 主要用到的就是简表提供的a p i 。 厂商可选包( o p t i o n a lp a c k a g e s ) :可选包是对配置和简表的功能扩展,如蓝牙通信、 无线消息服务和w e b 服务。通常设备制造商控制了哪个可选包可以在他的相关产品上 得到实现,如果可选包没有作为运行环境事先装载到设备上的话,那么就不能使用它 们。j s r l 2 0 中定义了可选包无线消息a p i ( w m a ) ;j s r l 3 5 中定义了移动消息媒体 a p i ( m m a p i ) ;j s r 8 2 中定义了蓝牙a p i ( b t a p i ) ;j s r l 8 4 中定义了移动3 d 图形( m 3 g ) ; j s r l 7 2 中定义了w e b 服务a p i ( w s a ) 。 2 2 1 配置( c o n f i g u r a t i o n ) 千差力别的移动设备硬件类型是由j 2 m e 的配置来进行抽象的。配置是j 2 m e 平台 中最基础的部分,它定义了实现j 2 m e 平台的设备必须提供的基础类库和j a v a 虚拟机 所要满足的特性。 目前j 2 m e 平台定义的配置有两种:连接设备配置( 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 ec o n f i g u r a t i o n ) 。 连接设备配置 c d c 规范针对相对内存较大、处理器较强的移动设备。c d c 规范中定义的虚拟机 称为c v m 。为了支持c d c ,移动设备应至少具备以下条件: 至少2 m b 内存,用于装载虚拟机和j a v a a p i 类库。 3 2 位微处理器。 可用的网络连接,最好是高带宽连接。 连接有限设备配置 c l d c 主要针对那些硬件设备更受限制的设备。这些设备无法满足c d c 的要求。 它对设备的要求如下: 至少1 6 0 k b 的内存,其中1 2 8 k b 用于k v m 和运行时库。 最低1 6 位2 5 m h z 处理器。 有一定的用户界面处理功能。 至少低带宽的无线网络连接。 2 2 2 简表( p r o f i l e ) c d c 和c l d c 针对各类设备中最具共性的内容提供了基本的功能集合,但是这些 功能对于实际的应用开发来说是不够的,并没有提供给开发者有关存储设备、网络等 6 上海师范大学硕士学位论文 第二章j 2 m e 应用开发技术 方面操作的支持,而且即使在同一配置类别中的不同设备,在实际应用开发中仍存在 着很大的差异。因此,在c o n f i g u r a t i o n ( 配置) 的基础上,又提出了p r o f i l e ( 简表) 的概念。 p r o f i l e 在本质上是应用程序和各种设备之间的协议。支持某一p r o f i l e 的所有设备 都必须实现p r o f i l e 所定义的程序接口,编写这类设备上运行的j a v a 程序时只使用这个 p r o f i l e 所提供的a p i 。遵循了这样一个约定,程序就可以很容易的在支持同一p r o f i l e 的设备间进行移植。 p r o f i l e 虽然定义了j a v a a p i 接口,但是底层如何实现是各厂商自己决定的,如m 3 g 定义了3 d 接口,但是底层实现既可以使用硬件加速,也可以由软件实现,或者部分由 硬件实现,部分由软件实现。 s u n 公司推出了几种可用的简表。c d c 上面的有三种:f o u n d a t i o np r o f i l e ( j s r 2 1 9 ) 、p e r s o n a lb a s i sp r o f i l e ( j s r2 1 7 ) 和p e r s o n a lp r o f i l eo s r2 1 6 ) ;c l d c 上的有一 种: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 ) ( j s r118 ) 。目前使用最广泛的是m i d p 。 m i d p 主要由四个i a v a x m i c r o e d i t i o n 包组成: j a v a x m i c r o e d i t i o n r m s 定义了关于持久存储的操作( r e c o r dm a n a g e m e n ts y s t e m ) 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 p 的应用程序; j a v a x m i c r o e d i t i o n i o 定义了网络连接的支持; j a v a x m i c r o e d i t i o n 1 c d u i 提供了对用户界面操作的支持,分为高级组件和低级组件 两种a p i 。 下面分别对其进行介绍: 1 ) m i d l e t 一个m i d l e t 代表了一个m i d p 的应用,应用程序必须继承 j a v a x m i c r o e d 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 t 在一起构 成了m i d l e t 套件( s u i t e ) 。一般来说,一个m i d l e ts u i t e 中常常只有一个m i d l e t 。m i d p 应用程序部署到手机或模拟器的时候都是以m i d l e ts u i t e 为单位进行的。m i d l e ts u i t e 中包括了两个文件:j a r 和j a d 。j a r 文件包括了可执行的c l a s s 文件和相关的资源文件。 j a d 文件是一个文本文件,用来描述m i d l e ts u i t e 的基本信息,包括其中的m i d l e t 相关 信息( 类名、图标、程序名) 和m i d l e ts u i t e 整体的信息( j a r 文件大小,安全限制、证书) 。 应用程序管理器是一个移动设备上的软件程序,这个程序由设备的生产商实现, 它负责安装、运行以及从设备上删除m i d l e ts u i t e 。m i d l e t 在运行中可以和应用程序管 理器通信告知自己状态的变化,一般是通过n o t i f y d e s t r o y e d 0 和n o t i f y p a u s e d 0 方法实现 的。 7 第二章j 2 姬应用开发技术上海师范大学硕十学位论文 当应用程序管理器初始化m i d l e t 之后,m i d l e t 就开始了它的生命周期。图2 3 说 明了一个完整的m i d l e t 生命周期。 图2 3m i d l e t 的生命周期 2 ) r e c o r d m a n a g e m e n ts y s t e m ( r m s ) , j 2 s e 平台提供了许多有关持久存储操作的支持,如j d b c 和对象序列化a p i ,但 这些都不适合只有很小内存空间的手持设备,因为资源受限设备的存储功能因设备类 型的不同而有很大的差异。m i d p 用“记录管理系统( r e c o r dm a n a g e m e n ts y s t e m ,r m s ) 这一概念模型来实现数据的持久存储,r m s 是一个比较简单的数据库,一个数据库被 称为一个记录存储( r e c o r ds t o r e ) ,r e c o r ds t o r e 由许多记录组合而成,有些类似平时我 们所说的数据库表和表中记录的关系。一个r e c o r ds t o r e 可在同一m i d l e ts u i t e 之内被 多个m i d l e t 所共享,但不能被其他的m i d l e ts u i t e 所访问。r m s 的存储位置及维护由 设备平台实现,并且对m i d l e t 来说是透明的。r e c o r ds t o r e 与m i d l e ts u i t e 息息相关, 当m i d l e ts u i t e 从平台上删除时,它所使用的r e c o r ds t o r e 也会被删除。 记录存储的名称区分大小写,由任意的u n i c o d e 字符组合构成,字符数至多3 2 个, 并且在一个m i d l e t 套件范围内必须唯一。 3 ) g e n e r i cc o n n e c t i o nf r a m e w o r k ( g c f ) 通用连接框架( g e n e t i cc o n n e c t i o nf r a m e w o r k ,g c f ) 是j 2 m e 平台中十分重要的部 分。由于j 2 s e 的j a v a n e t 不适合资源受限设备使用,因此在c l d c 中定义了通用连接 框架g c f ,m i d p 规范在此基础上进行了扩充,m i d p 2 0 中定义了h t t p c o n n e c t i o n 、 h t t p s c o n n e c t i o n 、d a t a g r a m c o n n e c t i o n 、s o c k e t c o n n e c t i o n 、u d p d a t a g r a m c o n n e c t i o n 等 接1 2 1 、用于创建具体连接的c o n n e c t o r 类和c o n n e c t i o n n o t f o u n d e x c e p t i o n 异常类,从 而提供了通过h n p 、h t t p s 协议、s o c k e t 或者数据报进行通信的能力。 4 ) l c d u i 8 上海师范大学硕十学位论文第二章j 2 m e 应用开发技术 设备的输入方式千差万别,在设计u i 功能类库时,下列几方面的因素比较重要: 设备和应用程序应该对那些不太精通p c 的用户来说也是易于使用的。 设备和应用程序应该在用户不是完全将注意力集中在该应用时也是易于使用 的,比如许多手机上的输入是单手操作的。 和p c 相比,嵌入式设备的输入形式和u i 的概念差异很大,例如显示尺寸比较 小,输入设备有时不包括点击设备。 运行在设备上的应用程序所使用的u i 部件应该和该设备本身的一些应用程序 相兼容,以便用户很容易地找到它们,从而便于使用。 考虑到实现m i d p 的设备的处理能力和以上介绍的因素,m i d p e g ( 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 ee x p e r tg r o u p ) 决定不仅仅从现存的j a v au i ,也就是a w t 上 取得一个子集来作为m i d p 的u i 功能。 m i d p 的u i 在逻辑上由两种类型的a p i 组成:高级的和低级的。高级a p i 是为客 户端部署在m i d l e t 上的业务应用而设计的。对于这些应用来说,跨设备的可移植性是 很重要的。为了实现这种可移植性,高级的a p i 利用了一些高层次的抽象,同时也减 少了外观效果方面的可控制性。这种抽象体现在以下几个方面: 显示方面的具体执行都是由m i d p 的实现者来做,应用不去定义组件的可视化 外观( 比如,形状、颜色、字体等) 。 导航、翻屏和其他一些原始的交互动作被封装在实现里面,应用并不知道这些 交互动作的存在。 应用不能直接取得具体的输入设备,比如指定的按键。 也就是说,当使用高级a p i 时,假定了底层实现会根据设备的硬件和本地u i 风格 做一些必要的适应工作。使用高级a p i 的类应该从s c r e e n 类继承。 而低级a p i ,则提供了很少的抽象。这个a p i 是为那些需要精确控制图形元素位 置的应用而设计的,它可以直接取得底层的输入事件。还有一些应用也需要取得与特 定设备相关的信息,比如游戏这类应用。 使用低级a p i 可以: 对于屏幕上显示的内容有完全的控制权。 监听到象某键被按下、释放这类的底层事件。 取得具体的按键和其他输入设备。 低级a p i 组件的类主要是c a n v a s 和g r a p h i c s 。 既然低级a p i 提供了与具体设备相关的细节的操作,因此使用低级a p i 组件的应 用程序不保证可移植性。如果程序没有使用这些与具体设备相关的特性,那么它仍是 可移植的。建议应用程序尽量只使用低级a p i 中那些与平台无关的部分。比如编写应 用程序时不要假定那些不在c a n v a s 类中定义的键的存在,也不要依赖特定的屏幕尺寸, 9 第二_ = 章j 2 m e 应用开发技术上海师范大学硕 学位论文 尽量使用游戏按键对应事件机制,而不要直接使用具体的键值,应用程序应该动态取 得显示屏幕的尺寸,从而柬调整自己的显示。 l c d u i 包全部都定义在j a v a xm i c r o e d i t i o ni c d u i 里面,s u n 官方网站卜提供的 l c d u i 包的结构尉如图24 所示: :o f a p l a y a b l e ;鼍:c o m m a n d j 二c o m 二m m 二d l f 二s t 二e b 二e f 。 。、? = 二一 c a n v a s l 再嘉司唑塑i r _ 一一一二- 上一 ,r f i 翮一亘亘壅画画 一j 五囹 回h i 司- g a z o 囵 ,t 一:_ 一堂i 翊1 1 女j ! 竺! ! i 音望! 卜:】画至匦 a 1 p r t t y p e t ( k e r s t r i n g l t e m 图24l c d u i 包的结构 c l d c 和构建在其基础之上的m i d p 一起提供了一个完整的j a v a 运行时环境。这 也是当前大多数手机上支持的j a v a 运行时环境。s u n 官方网站上提供的c l d c 无线应 用平台结构图如图25 所示: 瓦面五丽五墨了诼石鬲 m l d i e t s l c d u i 砷 。描一_ m i d p j s r2 4 8 l i b r a r i e s o p t i o n a l 惫i 霞p a c 妻k a g e s j 霞d := ;:二:葱 圈2 5c l c d 无线应用平台结构 上海师范人学硕士学位论文第二章j 2 m e 应用开发技术 2 2 3k v m ( j a v a 虚拟机) c l d c 和m i d p 都是运行在s u n 公司的k v m 上。k v m 是一个专门为小型、资源 受限设备所设计的紧凑的、便携的j a v a 虚拟机。具体的来说,k v m 被设计为: 小型的,静态内存占用量在4 0 k b 到8 0 k b 之间( 与编译操作和目标平台有关) 结构清晰、有良好的注释和高可移植性 模块化和可定制性 在不牺牲其他设计目标的前提下要尽量的完整和高效。 k v m 中的“k ”代表了“k i l o ”。这样命名是因为这个虚拟机占用内存量是用k b 来度量的( 而桌面系统一般都是以m b 来度量) 。k v m 适用于1 6 3 2 位m s c c i s c 微 处理器,占用内存量不超过几百k b ,对于手机、寻呼机、电子记事本、小型零售终端 等设备来说是比较合适的。 k v m 实现要求最小内存为1 2 8 k b ,包括虚拟机、特定的配置所包含的最小的j a v a 类库和运行j a v a 应用程序所需的堆内存。一个更加典型的实现要求有2 5 6 k b 的总内存, 其中一半用于应用程序的堆空间,4 0 到8 0 k b 用于虚拟机本身,其余的为配置和简表 的类库所保留。 在不同的实现中k v m 所处的地位可能会差别很大。在一些实现中,k v m 位于已 经存在的本地软件栈的顶层,使得设备可以下载和动态运行设备上的j a v a 程序,并与 之进行交互和保证其安全性。在另一些实现中,k v m 在底层使用,因此可以用j a v a 语言来实现一些底层的系统软件和应用程序。 目前,k v m 和c l d c 紧密相关,c l d c 仅运行在k v m 之上,而且c l d c 是k v m 支持的唯一配置。然而,随着技术的发展,c l d c 很可能运行在其他的j 2 m e 虚拟机上, 而k v m 也可能支持其他的配置。 2 3 本章小结 本章介绍了j 2 m e 平台的概念,分析了j 2 m e 平台的体系结构,着重介绍了j 2 m e 平台中几种常用的配置( c o l l f i g u r a t i o n ) 和简表( p r o f i l e ) ,并详细分析了使用最广泛的 p r o f i l e m i d p 的a p i 结构。本文中的s v g 显示执行客户端就是基于m i d p 2 0 来开发 的。 第三章s v g 及m o b i l es v g 技术规范上海师范人学硕+ 学位论文 第三章s v g 及m o b i l es v g 技术规范 3 1s v g 技术规范概述 3 1 1s v g 简介 s v g ( s c a l a b l ev e c t o rg r a p h i c s ,可扩展矢量图形) 是由w 3 c 组织提出的一项用于 二维矢量图形的平台标准。它包括两部分:基于x m l 的文件格式和关于图形应用的编 程接口。 s v g 用x m l 来描述二维图形,它包括三种类型的图像元素:矢量图形( 如p a t h , 包括直线和曲线) 、图像和文本。这些元素可以被分组、指定绘制风格、进行变换和嵌 套组合。文本可以放置在适合应用的任何x m l 命名空间中,这样可以提高s v g 图形 文件的可检索性。s v g 图片可以是动态的和可交互的。s v g 的d o m 可以通过脚本实 现直接有效的矢量图形动画。s v g 图形对象上的鼠标动作等事件可以定义丰富的事件 处理器。 s v g 被用于很多业务领域,包括w e b 图形、动画、用户界面、图形交换、打印和 硬拷贝输出、移动应用和高质量的图形设计。 3 1 2s v g 技术特点 1 2 作为一种新的图形技术,s v g 有许多其他图形格式所不具有的技术特点: 它是一种完全的矢量图形格式。s v g 除了支持矢量图形的所有操作( 比如, 无级缩放等) 以外,还提供了滤镜、变换等图形功能。 兼容性。s v g 是基于x m l 的,以文本方式来描述矢量图形,因此也具有x m l 的可扩展性和跨平台性等优点。s v g 可以方便地集成在w e b 中,与当前流行 的网络技术进行无缝衔接。s v g 图形可以在服务器端由程序来动态生成,适 用于b s 模式的应用开发。 结构简单,易于管理。s v g 支持d o m ( d o c u m e n to b j e c tm o d e l ,文档对象 模型) ,是一种结构化的文档,因此对内容的管理比较简单;s v g 可以利用图 形元素的i d 属性来实现图形元素的重用。 动态图形功能和可交互性。s v g 可以使用c s s 、脚本语言等来实现功能扩展 和控制用户的交互,s v g 图形对象可以响应鼠标点击等外部事件,可以通过 动画元素的定义或脚本语言实现图形的动态变化。 文本独立:很多图形中会包含一定的文本。一般情况下,图像设计者为了防止 上海师范人学硕士学位论文第三章s v g 及m o b i l es v g 技术规范 图像上的文字变动,会把文字转换成图像,这样也将文字变成了不可搜索和访 问的了。s v g 的标准制定者保留了文字元素,这样文字就成了一个独立的部 分在图像中显示,方便了网络搜索引擎的搜索。 易用性。s v g 文档以x m l 为基础,用文本来描述图形,我们可以很容易地看 到它的源代码,这样就方便了s v g 技术的学习和编辑,只用文本编辑器就可 以对图形进行修改。 3 1 3s v g 文档结构分析 一个s v g 文档由包含在”s v g ”根元素之中的若干个s v g 元素所组成。一个s v g 文 档可以是空的( 即在”s v g ”根元素中不包括任何内容) ,也可以只包含一个简单的s v g 图形元素,如 r e e f ,还可以是一种嵌套多层的复杂图形结构。 s v g 文档可以以一个独立文件的形式单独存在,也可以内嵌在其它的x m l 文档 中。 s v g 文档内容分为x m l 声明、文档类型声明和s v g 内容三部分,结构如下: : ( 全部标记元素和数据放置在这里) 1 ) x m l 声明 是x m l 声明。这一行表明下面的数据为 x m l 。 v e r s i o n = ”1 0 “说明这是符合x m l l 0 技术规范的x m l 文件。 s t a n d a l o n e 用来指明x m l 文件是引用外部d t d 还是内部包含d t d 。”n o ”表示它 依赖于外部的d t d ,这个d t d 并没有包含在s v g 文件中,”n o ”是s t a n d a l o n e 的默认 值。 2 ) 文档类型声n 蝈( d t d ) 在上面的例子中, 是文档类型声 明,文档类型声明声明了x m l 数据的根元素、标识以及用于解析x m l 的d t d 的位 置。 3 ) s v g 的内容描述 第三章s v g 及m o b i l es v g 技术规范上海师范人学硕士学位论文 ” ”之间是s v g 元素名称和相关的属性,属性以名称数值对的形式存在。所 有的s v g 元素和数据都要放在根元素s v g 的起始标签和结束标签之间。在上面的例子 中,s v g 根元素中定义了两个属性w i d t h 和h e i g h t ,它们的值分别为2 1 c m 和1 3 5 c m 。 ( 全部标记元素和数据放置在这里) 3 2m o b i l es v g 技术规范 为了使得s v g 图形技术可以应用到手机等资源受限的移动设备上,w 3 c 在s v g 1 1 规范的基础上定义了适合在移动设备上使用的m o b i l es v g 规范。 由于移动设备较少的内存资源、较低的c p u 处理能力和有限的显示设备,m o b i l e s v g 规范在内容、属性类型、特征和用户代理行为方面做了一些限制

温馨提示

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

评论

0/150

提交评论