2。1。1 安卓架构
安卓的系统架构采用了分层的架构,分为四层,从上到下分别为应用程序层、应用程序框架层、系统运行库层和Linux内核层[15]。如下图所示:
图2。1 安卓系统架构图(来源 百度百科“安卓”词条)
应用程序层:
安卓系统会和一系列应用一起发布,包括程序的客户端,短消息程序、日历、浏览器等系统自带程序。所有语言均是JAVA语言编写。
应用程序框架层:
开发人员可以访问核心应用程序所用的API框架,这样的设计简化了组件的重用,所有程序都可以将它的功能块发布出来,其他程序都可以在保证框架的安全性的情况下使用任何已发布的功能块。此组件重用机制也使得用户方便替换组件。
每个应用程序所用的系统服务包括了:1、丰富而可靠的视图,列表网格文本框等共同组成了应用程序;2、内容提供器使得应用程序间可以共享数据;3、资源管理器可以让应用程序访问到非代码层面的资源,如本地字符串、图形等;4、通知管理器可以让应用程序在系统中发布可自定义的通知;5、活动管理器用来管理应用程序的生命周期和导航功能。
系统运行库:
安卓包括一些能被不同组建应用的运行库,通过应用程序框架为开发者提供服务。包括系统C库、媒体库、Surface Manager、LibWebCore等。
2。1。2 安卓应用组件
安卓有四大应用组件,有着不同的作用:
1。活动(Activity):
在安卓中,活动是一切程序的根本,所有流程都运行在活动之中。所以活动是开发者用到的最频繁最基本的模块之一。在安卓的程序中,一个活动就相当于一个界面。活动之于程序就好比网页之于网站。开发者可以在活动中添加一些如按钮、确定框等控件。一般安卓应用程序都是由一个个活动组成的。
2。服务(Service)
服务也是安卓的一个组件,和活动的级别差不多,但是服务不能自己运行,只能在后台运行和其他组件进行交互。服务也是一种程序,但是没有用户界面,可以在后台运行很久,在听音乐时切换到别的界面还能继续听音乐就是服务发挥了作用。
3。广播接收器(Broadcast Receiver)
广播是一种广泛运用在应用程序之间传递信息的机制。每一个广播都需要有广播接收器对其进行接收与响应。广播接收器需要进行注册,可以在AndroidManife。xml中进行注册也可以直接在代码中注册。广播接收器没有UI,即对用户是不透明的。
4。内容提供器(Content Provider)
在安卓中,数据的保护是很严密的,一个应用自己的数据库、文件等内容都不能直接访问,每个应用要对外提供数据时就可以通过派生Content Provider类进行封装,每一个Content Provider都有一个独立的标识符,方便识别和引用。[16]
2。1。3 安卓平台的优势
1.开放性
平台的开放性允许任何移动终端厂商加入,从而有更多的开发者和应用。如此一来,崭新的平台日趋成熟,软件资源更加丰富,厂商日益增多,消费者选择余地也增加了。
2.丰富的硬件
由于平台的开放性,各厂商为了争夺消费者便会开发出更多功能的丰富硬件。多姿多彩的功能却不影响软件的部署和兼容。这无论对消费者还是开发者都是一个好消息。
3。Google应用
Google公司在全球互联网时代已走过10余年,无论是从当初的搜索还是到现如今的邮箱、地图等连接互联网用户的服务。安卓平台无疑是Google将自己的服务提供给全世界安卓用户的最好平台,而安卓用户也会因为Google应用服务的提供而受益[17]。文献综述