Android操作系统是一个复杂的平台,其中包含了多种功能模块,比如用户界面系统、系统间通信系统、数据库系统和定位服务等,各种功能模块之间相互配合为应用程序提供服务。
Android架构里定义了4种应用程序,用户的Android应用程序都是由这4种构建组成的。更多详细干货请看带你了解Android四大基本组件。
活动activities——桌面操作系统中独立的应用程序类似
可以通过查询queries和意图intents向其他活动或服务services获取数据和服务。
服务services——后台程序daemons类似
启动以后一直在后台运行,直到手机设备关机为止。服务通常不显示用户界面
如:用户可以播放mp3的时刻运行其他一些应用程序。在退出操作界面后仍然维持程序的运行。
广播和意图的接收器broadcast and Intent Receivers
用户处理应用程序出发的服务请求。广播接收器用户处理系统级别的事件消息,这些消息可能是android系统本身发出的,也可能是来自系统中正在运行的其他应用程序。一个活动或者服务通过实现意图接收器来向其他应用程序提供服务,意图接收器就是一段可执行的代码,负责响应其他活动或者服务发出的数据或者服务请求。想要发送请求的活动、客户端首先需要创建一个意图对象,然后将这个意图对象提交给android操作系统,***由android操作系统决定使用哪个应用程序处理该意图。
内容提供器Content providers
用户向其他活动或服务提供数据服务。内容提供器通过使用标准URI(uniform resource identifier)接口为其他应用程序提供数据服务,数据的请求者甚至不需要知道服务的提供者是谁。
比如:某个应用程序发出了一个查询某个联系人信息的消息,请求格式如下:
Content://contacts/people
Android操作系统就会查询系统中注册了这个URI格式的内容提供器,并将请求发送给响应的应用程序(如果该应用程序还没有启动,系统会自动将其启动)。如果有多个应用程序都注册了同样的URI格式,那么操作系统就会提示用户选择其中一个。
URI和意图机制松散耦合是的各种应用程序可以和谐地一起工作。