2.1.1 Android架构

Android平台系统的架构主要包括四层:内核层、系统运行库层、应用框架层以及应用层等四层组成[5]。其框架架构图如图2-1所示。

 Android系统架构图

 应用层(Application)[6]

这一层主要是由在Dalvil虚拟机的各种应用程序。Dalvil 与J2ME虚拟机是两种不同类型的虚拟机,Dalvil虚拟机是专门为Android系统设计的基于寄存器的Java虚拟机,以便利用Java语言开发应用程序更高效地运行。应用层上的应用程序有很多,例如:日历、地图、电话拨号、时钟、浏览器、短信、联系人管理等。

应用框架层(Application Framework)[7]

开发人员可以和 Linux 核心应用一样,拥有访问整个框架 API(应用程序接口)的权限。而应用框架层则是由以下部分组成:视图、内容提供器、资源管理器、通知管理器、活动管理器等。

系统运行库层(Libraries)[8]

系统运行库层主要是由名叫NDK开发库组成的,此开发库的开发语言使用了C/C++语言,在运行方面更加的高速,而且这个NDK开发库可以直接对系统的硬件进行访问,然而在这方面Java语言并没有这个功能,也不允许Java语言编写的程序对硬件设备进行直接访问。NDK库主要包括C语言标准库(libc)、多媒体库(Media Framework)、OpenGL ES、SQLite、Webkit、Dalvik虚拟机等。开发人员可以直接通过这些开发库对应用框架层提供支持。

系统运行层库除了有C/C++语言开发设计的NDK开发库外,还有一个核心库组成。核心库提供了JAVA语言编程时可能使用到的大部分核心类库。

Dalvik虚拟机也在这一层。Dalvik虚拟机可执行文件格式是*.dex的格式文件专门为小内存,处理器速度缓慢移动平台进行了优化。

Linux 内核层(Linux Kernel)[9]

Linux内核层通过组成其的驱动程序模型、内存管理、进程管理、网络协议栈的不同组件来为软件和硬件抽象层提供统一的服务。目前Android使用版本为 2.6 的Linux内核提供核心系统服务。

2.1.2 Android组件

Andriod架构里定义了四种应用程序结构,分别是活动(Activity)、服务(Service)、广播和Intent接收器(Broadcast and Intent Receivers)、内容提供器(Content Provider),这四种结构构建了几乎所有的Android应用程序。[10]

活动(Activity)

与Windows操作系统独立于应用程序相类似的是Android系统定义的活动也独立于系统而运行。活动是由一些可执行代码,用户或系统活动将在必要时启动。活动可以与用户交互,也可以通过查询(查询)和意图组件其他活动或服务获取数据和服务。活动通常要负责屏幕的显示,每一个活动一般都有一个对应的界面,如果活动的不在处于活动状态,系统可以将它结束以提高智能手机内存的利用率。[11]

服务(Service)

Android系统中的服务同过可执行代码实现,服务在启动会在后台持续进行,直到关机。一般情况下服务是没有用户交互界面的。

Android生命周期包括活动的生命周期和服务的生命周期。Android活动的生命周期定义的是一个活动从开始,到创建活动,直到活动结束期间所有发生的事件或状态。程序开发人员设计的活动可以通过重载Activity基类的方法来对各种事件和消息进行监听与处理。[12]

Android服务生命周期与前面讲的Android活动生命周期实现方式差不多,主要是实现的细节上有所差别。一般服务来讲不想活动有界面显示那么直观,而是在后台启动,需要首先执行创建服务,接着开始启动服务,如果前台请求一项服务时,后台未开始启动该项服务,则后台会首先创建服务,接着开始启动该项服务,直至用户中止该项服务位置。一个被认为是单独运行的服务,其启动服务可能会在服务运行过程中,多次被执行启动服务。图 2-3 是Android服务(Service)的生命周期示意图。[13]

上一篇:jsp+sqlserver网上电脑配件店系统的设计
下一篇:#+sqlserver企业人事资源管理系统设计

Android手机考勤平台的设计与实现

基于android的环境信息管理系统设计

Python+mysql宠物领养平台的设计与实现

基于激光超声检测金属材...

Android全国天气移动终端应用程序设计研究

基于MOODLE平台的在线交互式学习设计

基于离散事件系统Petri网模型的可达图研究

提高教育质量,构建大學生...

基于Joomla平台的计算机学院网站设计与开发

酵母菌发酵生产天然香料...

浅论职工思想政治工作茬...

浅谈高校行政管理人员的...

从政策角度谈黑龙江對俄...

AES算法GPU协处理下分组加...

STC89C52单片机NRF24L01的无线病房呼叫系统设计

压疮高危人群的标准化中...

上海居民的社会参与研究