预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

万方数据 d的架构与应用开发研究①AndiroAndroid平台的架构StudyofAndroid§ArchitectureDevelopment姚昱曼1’2刘卫国1(1.中南大学信息科学与工程学院湖南长沙410083;2.湖南广播电视大学现代教育技术中心湖南长沙410004)2007年11月由Google牵头有30多家移动技术和Android是一个真正意义上的开放性移动设备综合平内核层、Android运行时库和其他库层、应用框架层、应Android平台的结构(2)Android运行时库和其他库层:Android运行时分功能)和DaMk虚拟机。同时Android提供了丰富的andItsApplication摘要:首先简要介绍了新一代智能手机平台—一Android的系统架构,然后通过和现有智能手机开发平台进行比较研究分析了该平台的结构特点,最后通过在该平台上开发一个在线P.S5阅读器验证了该平台的可关键词:Android智能手机平台J2ME无线应用领域领先企业组成的开放手机联盟(openl发布了其智能手机平台一一Android。台,它包括操作系统、用户界面、中间件和应用程序,拥有移动电话工作所需的全部软件,同时其开放性保证该平台不存在任何阻碍移动产业创新的专有权障碍。Android平台自底向上由以下四个层次组成:Unux用程序层。如图1所示(1)Unux内核层:Android基于Unux2.6.23内核来开发的,主要是添加了一个名为Goldfish的虚拟CPU以及Android运行所需的特定驱动代码。该层用来提供系统的底层服务,包括安全机制、内存管理、进程管理、网络堆栈及一系列的驱动模块。作为一个虚拟的中间层,该层位于硬件与其它的软件层之间。需要注意的是,这个内核操作系统并非类GNU/Linux的,所以其系统库、系统初始化和编程接口都和标准的Linux系统有所不同的。它没有采用虚拟内存文件系统,而是采用YAFFS2文件系统。YAFFS(YetSystem)文件系统是一个开源的,专门为Flash设计的文件系统,具有很好的可移植性,也是一种日志型文件系统,能够在Unux,uCLinux,和CE上运行。YAFFS目前有YAFFS和YAFFS2两个版本,一般说来,YAFF5对小页面(528字节/页)有很好的支持,而更大的页面(2K+64字节/页)就需要YAFFS2了¨1。作为新一代智能手机平台,Android需要支持超大容量的NANDFIaSh,所以采用支持大页面的YAFFS2文件系统。库包含一组核心库(提供了Java语言核心库内的大部库类支持且大部分为开源代码,如采用的数据库为SQ|¨e。Android选择它作为移动终端的嵌入式数据库有以下优点,它无需安装和管理配置,它是一个储存在单一磁盘文件中的完整数据库,体积小只有250KB但支持数据库大小至2TB,提供了对事务功能和并发处理的支持,而且比目前流行的大多数数据库运行速度快哩】。(3)应用框架层:在应用框架层Android开发人员计算机系统应用2008年第11期用性。RSS阅读器XML1图1WindowsHandsetAllianceversionAnotherFlashRleNAND①基金项目:国家自然科学基金160676016);湖南省高校科研项目f06D064) 万方数据 Android平台与J2ME的区别Android平台的应用程序设计揖·/(1)Dolvik是基于寄存器,而JVM是基于堆栈的。可以跟那些核心应用一样拥有访问框架APIs的全部权限。应用的系结构化设计简化了各组件之间的重用,任何应用都可以分发自己的组件,任何应用也可以使用这些分发的组件(应用的使用方法需遵循框架的安全性约束)。(4)应用程序层:Android本身会附带一些核心的应用程序,包括e—mail客户端、短信程序、日历、地图、浏览器、通讯录等等,目前所有的应用程序都是由Java语言开发的。edition)是Java语言专门针对嵌入式电子产品开发的版本,应用在移动电话、PDA、电视机机顶盒以及其它资源受限的设备上,J2ME是目前移动设备上使用最广泛的开发平台。J2ME平台由多种配置、简表和可选包组成口】。可以发现J2ME的应用是建立在JVM(或KVM)之上,而主机操作系统是位于J2ME平台之外。这样的设计一方面提供了跨操作系统的特性,主机操作系统可J2ME虽然提供了统一的开发平台,但是JvM的安全机制让J2ME的应用程序不能调用本地系统资源”o。而Android向下既包括操作系统内核,向上又拥有通现成的应用软件,加之开源、免费、可以直接使用Java语言为开发人员提供了极大的便利。另外需要强调的是虽然同样是使用Java语言进行开发,但是Android使用的DoMk虚拟机和J2ME使用的标准的Java