基于Android平台的日程安排软件设计(4)
时间:2017-06-17 14:11 来源:毕业论文 作者:毕业论文 点击:次
(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语言编写的。 (责任编辑:qin) |