Android应用构成
Android应用是由各种各样的组件来构成。 这些组件大部分都是松散连接的,准确
的说你可以把它们看成组件的联合而非是一个单一的应用。
通常,这些组件运行在同一个系统进程里面。你也可以在这个进程里面创建多个线程
(这是很常见的),如果必要你也可以创建独立的子进程。不过这种情况是非常少见的,
因为Android尽力使代码进程间透明。
以下部分是很重要的Android APIs:
- AndroidManifest.xml
- AndroidManifest.xml 是系统的控制文件,它告诉系统如何处理你所创建的所有
顶层组件(尤其是activities,服务,Intent接收器和后面描述的内容管理器)。举例
来说,控制文件就是把你的活动(Activities)要接收的Intents连接在一起的“胶水”。
- 活动(Activities)
- 活动(Activity)就是一个有生命周期的对象。 一个Activity就是完成某些工作的代码块,
如必要的话,这部分工作还可能包括对用户UI界面的显示。不过这不是必须的,有些活
动从不显示UI界面。典型地,你将会指定你的应用程序中的一个活动为整个程序的入口点。
- 视图(Views)
- 视图(Views)可以将其自身绘制到屏幕上。Android的用户界面由一系列的视图树
(trees of views)构成。接口都是由一组以树的形式出现的视图组成的。开发者可
以通过创建一个新的视图的方法来使用自定义的图形处理技术(比如开发游戏,或者是
使用了不常用的用户图形(UI)窗口界面(widget))。
- Intents
- Intents是一个简单的消息对象,它表示程序想做某事的“意图”(intention)。比
如如果你的应用程序想要显示一个网页,那么它通过创建一个Intent实例并将其传递给
系统来表示意图浏览这个URI。系统将定位于知道如何能处理这一Intent的代码(在当
前情况下就是浏览器),并运行之。Intents也可以用于广播系统范围内的有效事件
(例如通知事件)。
- 服务(Services)
- 服务是运行在后台的一段代码。它可以运行在它自己的进程,也可以运行在其他应用程
序进程的上下文(context)里面,这取决于自身的需要.。其它的组件可以绑定到一个服
务(Service)上面,通过远程过程调用(RPC)来调用这个方法。例如媒体播放器的服务,
当用户退出媒体选择用户界面,她仍然希望音乐依然可以继续播放,这时就是由服务
(service)来保证当用户界面关闭时音乐继续播放的。
- 通知(Notifications)
- 通知将以小图标的形式呈现在状态栏里,用户通过与图标的交互式操来接收消息。最常见
的通知包括短信息,通话记录,语音邮件,但是应用程序也可以创建它们自己的通知事件。
我们推荐采用通知事件实现提醒用户的注意。
- 内容管理器(ContentProviders)
- 内容管理器(ContentProvider)提供对设备上数据进行访问的数据仓库。典型的例子就
是使用内容管理器来访问联系人列表。你的应用程序也可以使用其它程序通过内容管理器提
供的数据,同时你也可以定义你自己的内容管理器来向其它应用提供数据访问服务。