所有的应用程序都由系统里需用到的功能以及诸多的服务功能所组成,大致包括以下这些:
View System可以用来建立一些视图或应用,包括列表、网格、文本框、按钮,还包括一个可以内嵌到手机里的web浏览器等。Content Providers能够帮助某一应用共享自己的数据库或者是访问另一个应用的数据资源。Resource Manager可以方便开发者查看许多并非可执行代码的资源,例如对图形和分层文件等等的操作。Activity Manager可以对诸多应用的各个界面间的连接起到管理作用。同时,它也提供了众多常用的导航回退的功能。Window Manager能管理所有的窗口程序,帮助开发桌面的悬浮窗口。Package Manager能够让当前联网程序与底层数据结合,同时记下各软件的数据使用状况。Notification Manager 可以把运行中的应用程序的客户通知信息方便地显示在状态栏中。
(3)系统运行库
系统运行库主要可以分为系统库以及安卓运行环境两大部分。
其中系统库为软件框架以及Linux内核之间搭起了重要桥梁,同时为软件的框架供应了很多基础性的服务。系统库的主要组成部分如下:Surface Manager 合成了显示、绘图以及存取。Media Framework是基于Pocket video open core并且支持常用多媒体播放与录制的。OpenGL ES库主要用于3D标准绘图。FreeType库则用来支持两种字体的显示。还有WebKit库则总来提供网页浏览器内核。SQLite库主要用来支持SQLite数据库。SGL库用于2D图形的渲染引擎。SSL库则用于实现加密通讯。至于libe是从BSD继承来的标准C系统函数库。
系统运行库的另一部分安卓运行环境主要由Dalvik虚拟机和虚拟机两部分构成。Dalvik是一种Java虚拟机,它基于寄存器,可以同时高效率地对多个虚拟系统进行运行。而且,安卓系统中的每一个程序都会生成一个Dalvik虚拟机实例。一些系统需要的API也会放在核心库中。虚拟机中所有的类都借助于Java编译器进行编译。然后再借由SDK中的dx工具把它转化成为.dex的格式。最终把转化完成的内容交给虚拟机执行。
(4)内核层
Linux内核层是系统层级,主要用于提供核心的系统服务,比如权限控制以及内存管理等等。
4 Android应用程序的构成
一个安卓应用程序主要由活动Activity、意图Intent、服务Service以及内容提供器Content Provider 这4个组件构成。不过,这其中,唯有Activity是必要的组分,其余组件都是可有可无的。下面将分别介绍这4个组件:
(1)Activity
Activity活动是安卓最基础的应用程序组件。通常,一单独屏幕便是一个activity活动。每个activity都可以借由继承活动基类而成功被实现为一个独立类。与此同时,活动类将会把视图控件组成的用户接口显示出来,随后响应事件。
通常,应用程序都由几个屏幕显示而组成的,而每个屏幕就是一个活动。安卓会把每个从主菜单中打开的程序保留在堆栈中,因而,当一个新的屏幕被我们打开的同时,以前打开过的屏幕就会被设为暂停状态。同时,这些暂停状态的屏幕会被压入历史堆栈中。通过回退操作,用户可以回到曾经打开的屏幕。用户当然也可以自行选择移除几个没有保留必要的屏幕。
(2)Intent
Intent用于描述应用程序想要做什么。它能在程序运行的过程中连接两个不同的组件,是一种运行时绑定机制。通过Intent,应用程序可以向安卓表达某种请求,而安卓会根据意愿的内容选择适当的组件去响应。
(3)Service
Service是在后台运行的,并且可以与它进行交互。在安卓应用程序中,Service的生命周期比较长。但是它并没有涉及用户界面的代码程序。它与Activity享有几乎平等的级别,但是只有通过一个Activity来调用,它才能够运行起来。当应用程序要求在没有界面显示的情况黑能正常运行,这时就需要用到Service了。举个典型例子,一个具有播放列表功能的正在播放歌曲的媒体播放器便是它的应用。 Android技术文献综述和参考文献(2):http://www.751com.cn/wenxian/lunwen_11481.html