第一章 揭开Android的神秘面纱
第四节 Android组件结构应用程序框架
和主流的开发工具一样,Android也有自己的组件,在本节的内容中,将简要介绍Android组件结构应用程序框架的基本知识。
1.4.1 Android组件结构
Android采用了软件堆层(Software Stack,又名软件叠层)的架构,低层以Linux内核为基础,只提供基本功能,其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。
1.4.2 Android应用程序框架
Android会同一个核心应用程序包一起发布,该应用程序包包括Email客户端、SMS短消息程序、日历、地图、浏览器及联系人管理等程序。所有的应用程序都是用Java编写的。
开发者也完全可以访问核心应用程序所使用的API框架。该应用程序架构用来简化组件软件的重用;任何一个应用程序都可以发布它的功能块,并且任何其他的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。该应用程序重用机制使得组件可以被用户替换。
以下所有的应用程序都由一系列的服务和系统组成。
·一个可扩展的视图(Views):可以用来建立应用程序,包括列表(Lists)、网格(Grids)、文本框(Text Boxes)、按钮(Buttons),甚至包括一个可嵌入的浏览器。
·内容管理器(Content Providers):使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。
·一个资源管理器(Resource Manager):提供非代码资源的访问,如本地字符串、图形和分层文件(Layout Files)。
·一个通知管理器(Notification Manager):使得应用程序可以在状态栏中显示客户通知信息。
·一个活动类管理器(Activity Manager):用来管理应用程序生命周期并提供常用的导航回退功能。
一个Android程序编译运行后的效果如图1-3所示。
图1-3 Android程序运行效果
Android系统提供给应用开发者一个框架,所有的应用开发都必须遵守这个框架的原则。在开发应用时就是在这个框架上进行扩展,下面来看Android框架都有些什么功能可供使用。
·android.app:提供高层的程序模型和基本的运行环境。
·android.content:包含对各种设备上的数据进行访问和发布。
·android.database:通过内容提供者浏览和操作数据库。
·android.graphics:底层的图形库,包含画布、颜色过滤、点及矩形等,可以将它们直接绘制到屏幕上。
·android.location:定位和相关服务的类。
·android.media:提供一些类管理多种音频、视频的媒体接口。
·android.net:提供帮助网络访问的类,超过通常的java.net.* 接口。
·android.os:提供了系统服务、消息传输和IPC机制。
·android.opengl:提供OpenGL的工具。
·android.provider:提供访问Android内容提供者的类。
·android.telephony:提供与拨打电话相关的API交互。
·android.view:提供基础的用户界面接口框架。
·android.util:涉及工具性的方法,例如时间日期的操作。
·android.webkit:默认浏览器操作接口。
·android.widget:包含各种UI(界面元素)元素在应用程序的布局中使用。