Android应用程序由松散耦合的组件组成,并使用应用程序Manifest绑定到一块儿:应用程序Manifest描述了每个组件和它们之间的交互方式,还用于指定应用程序元数据,其硬件和平台要求,外部库以及必需的权限。android
下面几个组件提供了应用程序的基本结构模块:数据库
Activity:应用程序的表示层。应用程序中的每个UI都是经过Activity类的一个或多个扩展实现的。Activity使用Fragment和视图来布局和显示信息,以及响应用户动做。框架
Service:应用程序中不可见的工做者。Service组件在运行时没有UI,它们能够更新数据源和Activity,触发通知和广播Intent。它们被用来执行一些运行时间长的任务,或者不须要用户交互的任务。ide
Content Provider:一个可共享的持久数据存储器。Content Provider用来管理和持久化应用程序数据,一般会与SQL数据库交互。Content Provider是在应用程序之间共享数据的首选方法。能够经过配置本身的Content Provider来容许其余应用程序访问,也能够访问其余应用程序提供的Content Provider。android设备包含了多个本地content Provider来提供有用的数据库,如媒体库和联系人信息等。布局
Intent:一个强大的应用程序间的消息传递框架。android中大量使用了Intent。Intent能够用来启动和中止Activity和Service,在系统范围内或向目标Activity,Service或Broadcast Receiver广播消息,以及请求对特定的一数据执行操做。spa
Broadcast Receiver:Intent侦听器。Broadcast Receiver使应用程序能够监听到那些匹配指定的过滤标准的Intent广播。Broadcast Receiver会自动地启动应用程序来响应某个收到的Intent,这个特色使它们成为了事件驱动的应用程序的最佳选择。事件
Widget:一般添加到设备主屏幕的可视化应用程序组件。widget是Broadcast Receiver的特殊变体,可用于建立动态的交互式应用程序组件,用户能够把这些组件添加到他们的主屏幕上。get
Notification:Notification容许向用户发送信号,但却不会过度吸引他们的注意力或者打断他们当前的Activity。它们是应用程序不可见或者不活动时(特别是Service或者Broadcast Receiver)吸引用户注意的首选方法。例如,当设备接收到一个文本消息或者电子邮件的时候,消息传递应用程序或者Gmail应用程序能够经过闪灯,发出声音,显示图标或者滚动显示消息摘要的方式来提醒你。这就是利用了Notification功能。也能够在本身的应用程序中使用Notification。
it