(10)Android系统硬件检测。Android可以自动检测和修复SD卡的文件系统,允许第三方应用显示Android系统的硬件特性。为了让用户下载到与自己的设备匹配的应用,我们可以检测用户设备的硬件信息,让满足应用要求的设备安装该程序,当更多的Android设备建立在不同的硬件上时,这个功能显得很实用。
2.3 Android的平台架构
 Android采用Linux内核,这样不但给落寞的Linux带来了新的生机,也加剧了Linux移动平台的内部竞争。它由操作系统、中间件、用户界面和应用软件组成。它采用软件堆层(software stack,又名软件叠层)的架构。
主要分成三部分:底层以Linux核心为基础,由C语言开发,只提供基本功能。中间层包括函数库,Library和虚拟机Virtual Machine,由C++开发。最上层是各种应用软件,包括通话程序、短信程序等,应用软件则由各公司自行开发,以java编写。
Android的系统架构主要分为四层,从高到低分别是由运行在Dalvik虚拟机上的应用程序组成的应用层,开发人员直接调用组件组成的应用框架层,对应用框架层提供支撑的系统运行库层和包括驱动、存管理、进程管理、网络协议栈等组件的Linux内核层。同时,Android拥有一组核心库,这些库能被Android系统中的不同组件使用,它们通过Android应用程序框架为开发者提供服务,该核心库提供了Java编程语言核心库的大多数功能;每一个应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。
(1)Linux内核层:Android底层是一个基于Linux内核来开发的独立操作系统, 主要是添加了一个名为Goldfish的虚拟CPU以及Android运行所需的特定驱动代码。该层用来提供系统的底层服务,包括安全机制、内存管理、进程管理、网络堆栈及一系列的驱动模块。作为一个虚拟的中间层,该层位于硬件与其它的软件层之间。需要注意的是,这个内核操作系统并非类GNU/Linux的,所以其系统库、系统初始化和编程接口都和标准的Linux系统有所不同的。它没有采用虚拟内存文件系统,而是采用YAFFS2文件系统。YAFFS2(Yet Another Flash File System)文件系统是一个开源的专门为NAND Flash设计的文件系统,具有很好的可移植性,同时也是一种日志型文件系统。
(2)Android运行时和其他库层:系统运行库层可以分成两部分,分别是系统库和Android运行时。系统库是应用程序框架的支撑,是连接应用程序框架层与Linux内核层的重要纽带。编写Android应用程序时采用Java语言编写,程序在Android中执行,其运行时分为核心库和Dalvik虚拟机两部分。
(3)应用框架层:在应用框架层Android开发人员可以跟那些核心应用一样拥有访问框架APIs的全部权限。应用的系结构化设计简化了各组件之间的重用,任何应用都可以分发自己的组件,任何应用也可以使用这些分发的组件。
(4)应用程序层:Android本身会附带一些核心的应用程序,包括e-mail客户端、短信程序、日历、地图、浏览器、通讯录等,这些应用程序都是由Java 语言开发的,并且这些应用程序都是可以被开发人员开发的其他应用程序所替换,这点不同于其他手机操作系统固化在系统内部的系统软件,更加灵活和个性化。
  图2.3  Android系统的体系结构
从图2.1可以看出,Android的系统架构和其操作系统一样,采用了分层的架构。android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。
  (1)应用程序
  Android会同一系列核心应用程序包一起发布,该应用程序包括email客户端、SMS短消息程序、日历、地图、浏览器、联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。
上一篇:ASP.NET培训中心教务管理系统开发
下一篇:VoIP模拟手机系统的常用功能网络电话设计

基于Apriori算法的电影推荐

考证平台静态网页设计与制作

基于PageRank算法的网络数据分析

基于神经网络的验证码识别算法

基于网络的通用试题库系...

python基于决策树算法的球赛预测

基于消费者个性特征的化...

C#学校科研管理系统的设计

神经外科重症监护病房患...

AT89C52单片机的超声波测距...

中国学术生态细节考察《...

承德市事业单位档案管理...

国内外图像分割技术研究现状

公寓空调设计任务书

志愿者活动的调查问卷表

10万元能开儿童乐园吗,我...

医院财务风险因素分析及管理措施【2367字】