Android的架构与应用开发研究资料下载.pdf

上传人:b****1 文档编号:16119413 上传时间:2022-11-20 格式:PDF 页数:12 大小:578.05KB
下载 相关 举报
Android的架构与应用开发研究资料下载.pdf_第1页
第1页 / 共12页
Android的架构与应用开发研究资料下载.pdf_第2页
第2页 / 共12页
Android的架构与应用开发研究资料下载.pdf_第3页
第3页 / 共12页
Android的架构与应用开发研究资料下载.pdf_第4页
第4页 / 共12页
Android的架构与应用开发研究资料下载.pdf_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

Android的架构与应用开发研究资料下载.pdf

《Android的架构与应用开发研究资料下载.pdf》由会员分享,可在线阅读,更多相关《Android的架构与应用开发研究资料下载.pdf(12页珍藏版)》请在冰豆网上搜索。

Android的架构与应用开发研究资料下载.pdf

1Android平台的架构Android平台自底向上由以下四个层次组成:

Unux内核层、Android运行时库和其他库层、应用框架层、应用程序层。

如图1所示图1Android平台的结构

(1)Unux内核层:

Android基于Unuxversion2623内核来开发的,主要是添加了一个名为Goldfish的虚拟CPU以及Android运行所需的特定驱动代码。

该层用来提供系统的底层服务,包括安全机制、内存管理、进程管理、网络堆栈及一系列的驱动模块。

作为一个虚拟的中间层,该层位于硬件与其它的软件层之间。

需要注意的是,这个内核操作系统并非类GNULinux的,所以其系统库、系统初始化和编程接口都和标准的Linux系统有所不同的。

它没有采用虚拟内存文件系统,而是采用YAFFS2文件系统。

YAFFS(YetAnotherFlashRleSystem)文件系统是一个开源的,专门为NANDFlash设计的文件系统,具有很好的可移植性,也是一种日志型文件系统,能够在Unux,uCLinux,和WindowsCE上运行。

YAFFS目前有YAFFS和YAFFS2两个版本,一般说来,YAFF5对小页面(528字节页)有很好的支持,而更大的页面(2K+64字节页)就需要YAFFS2了1。

作为新一代智能手机平台,Android需要支持超大容量的NANDFIaSh,所以采用支持大页面的YAFFS2文件系统。

(2)Android运行时库和其他库层:

Android运行时库包含一组核心库(提供了Java语言核心库内的大部分功能)和DaMk虚拟机。

同时Android提供了丰富的库类支持且大部分为开源代码,如采用的数据库为SQ|e。

Android选择它作为移动终端的嵌入式数据库有以下优点,它无需安装和管理配置,它是一个储存在单一磁盘文件中的完整数据库,体积小只有250KB但支持数据库大小至2TB,提供了对事务功能和并发处理的支持,而且比目前流行的大多数数据库运行速度快哩】。

(3)应用框架层:

在应用框架层Android开发人员基金项目:

国家自然科学基金160676016);

湖南省高校科研项目f06D064)万方数据2008年第1l期计算机系统应用可以跟那些核心应用一样拥有访问框架APIs的全部权限。

应用的系结构化设计简化了各组件之间的重用,任何应用都可以分发自己的组件,任何应用也可以使用这些分发的组件(应用的使用方法需遵循框架的安全性约束)。

(4)应用程序层:

Android本身会附带一些核心的应用程序,包括email客户端、短信程序、日历、地图、浏览器、通讯录等等,目前所有的应用程序都是由Java语言开发的。

2Android平台与J2ME的区别J2ME(Java2platformmicroedition)是Java语言专门针对嵌入式电子产品开发的版本,应用在移动电话、PDA、电视机机顶盒以及其它资源受限的设备上,J2ME是目前移动设备上使用最广泛的开发平台。

J2ME平台由多种配置、简表和可选包组成口】。

可以发现J2ME的应用是建立在JVM(或KVM)之上,而主机操作系统是位于J2ME平台之外。

这样的设计一方面提供了跨操作系统的特性,主机操作系统可以是Symbian、WindowsMobile、和Linux,另一方面J2ME虽然提供了统一的开发平台,但是JvM的安全机制让J2ME的应用程序不能调用本地系统资源”o。

而Android向下既包括操作系统内核,向上又拥有通现成的应用软件,加之开源、免费、可以直接使用Java语言为开发人员提供了极大的便利。

另外需要强调的是虽然同样是使用Java语言进行开发,但是Android使用的DoMk虚拟机和J2ME使用的标准的Java虚拟机(JVM)存在以下区别:

(1)Dolvik是基于寄存器,而JVM是基于堆栈的。

Android选择采用寄存器的方式是因为它对提前优化(aheadoftimeoptimization)提供了更好的支持,而这对类似于移动电话这样的受限环境是颇有裨益的。

针对基于寄存器虚拟机和基于堆栈的虚拟机更深入的比较分析指出,基于寄存器的虚拟机对于更大的程序来说,在它们编译时花费的时间更短哺1。

(2)运行环境的区别。

DaMk经过优化,允许在有限的内存中同时运行多个虚拟机的实例。

3Android平台的应用程序设计31开发平台搭建实例开发需要安装的SDK有JDK16和AndroidSDKm5一rcl5,使用的集成开发环境为Eclipse33(需要安装集成环境的Android开发插件ADT,该插件提供了设备模拟器、调试工具、内存和效率调优工具),可以说Android程序的开发目前拥有一个成熟、便捷的开发环境。

32开发实例实例是一个Android平台下的RSS阅读器设计,它可以在线读取某新闻网站的RSS。

RSS(ReallySimpleSyndication)是一种内容发布者用来发布信息的XML数据格式,RSS提要通常使用RSS阅读器转换为可读的友好格式后再显示给用户,因此开发主要涉及两个方面:

XML数据流的解析和如何在Android界面上显示RSS内容。

321核心代码

(1)xML数据流的解析Android直接支持DOM和5AX两种XML数据解析方法,其中sAx方法内存占用小,更适合在手机程序开发,下面是构建一个SAX解析器的核心代码。

十Android上使用SAxParser解析XML数据流事幸分两步从SAXPArserFodory类的实例化一个SAXParser对象牛SAXParserFodoq,spf=SAXParserFodorynewlnstance();

SAXParsersp=spfnewSAXParser();

木从SAxParser中创建XMLRderXMU2eaderxr=spgetXMLReader();

木创建一个在XMLReader中使用的Cont-entHandler幸ExampleHandlermyExampleHondler=newExampleHandler():

xrsetContentHandler(myExampleHandler);

从URL中解析XML数据xrparse(newInputSource(udopenStream(J);

ExampleHandler用来提供解析完成的XML数揖万方数据计算机系统应用2008年第1l期myFxampleHandlergetParsedData();

(2)Android界面上显示RSS内容活动(Adivit、)是最常用的Android应用程序形式。

活动在为视图类的帮助下,为应用程序提供UI。

一个应用程序可以包含一个或多个活动。

这些活动通常与应用程序中的屏幕形成一对一关系,提供移动设备最基本的功能和事件的访问。

显示RsS内容应用程序需要使用两个Adivity类提供用户界面,主屏幕主屏幕列出RSS的提要标题和发布日期,第二个屏幕列出Rss提要项。

RSS阅读器中主界面的Activity代码如下:

拳书RSSReader继承于Adivily类木publicclassRSSReaderextendsAdivityimplementsOnltemClickListener书事实例程序静态定义了SINA的新闻页面的RSSfeed凇publicfinal9dng融污FEEDOFcHOICE=。

http:

IIrSSsinatomcnnewsmarqueeddtxml。

publicfinalStringtag=。

RSSReader。

privateRSSFeedfeed=null:

宰幸onCreate方法将在应用程序第一次运行时调用宰publicvoidonCreate(Bundleicicle)SUlperonCreate(icicle

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 信息与通信

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1