您的位置:首页 > 移动开发 > Android开发

Android的四大组件:Activity、Service、Content Provider、Broadcast Receiver

2016-10-24 11:46 435 查看
组件是一个Android程序至关重要的构建模块。每一个组件都是系统进入你的应用的不同途径。但并不是所有的组件都是用户进入程序的真实入口,其中一些要依赖于其它组件,但是每一个组件都以自己独有的形式存在,并发挥特殊的作用;每一个组件都是一个唯一的模块,帮助你实现程序的各种行为。

有四种不同的应用程序组件。每一种组件都有其唯一的目的并且有独有的生命周期,这个生命周期定义了附件被创建和销毁的方式。

下面介绍四种类型的应用程序组件:
Activity:

一个 activity 为一个用户交互提供一个单独的界面。例如,一个邮件程序可能有一个activity,它展现了一个新邮件的列表。另一个activity用来编辑邮件,还有一个是用来阅读邮件。虽然这些activity组合在一起构成一个紧密的用户体验,但每一个都是相对独立的。 同样,其它程序也可以启动这些activity(如果这个邮件程序允许)。例如,一个相机程序可以启动这个邮件程序的编辑邮件activity,如果用户想分享一张照片。

Service

一个 service是一个运行在后台的组件。它用于执行耗时操作或者远程进程。一个service并不提供用户交互界面。例如,当用户在使用另外一个程序的时候,一个服务可能在播放音乐或者在通过网络获取数据,这样不会阻塞住用户与activity的交互。其它的组件,例如一个activity,可以启动一个service并让其运行或者与其绑定,绑定后可以与其交互。

Content Provider

一个content provider负责管理应用程序的数据共享集。你可以通过文件系、SQLite数据库、网站,或者其它的你的应用程序可以访问的持久化存储位置来存储数据。通过content provider,其它的应用程序可以查询甚至修改你的数据(如果这个content provider允许它们这么做)。 例如,Android系统提供了一个content provider来管理联系人信息。同样地,任何程序拥有了适当权限都可以查询这个content provider去读写某人的信息。

Content provider在读写程序的私有数据时也很有用。例如,Note Pad范例程序就使用了一个content provider来保存笔记。

Broacast Receiver
broadcast receiver 是一个用来响应系统范围内的广播的组件。很多广播发自于系统本身。—例如, 通知屏幕已经被关闭、电池低电量、照片被拍下的广播。应用程序也可以发起广播。—例如, 通知其它程序,一些数据被下载到了设备,且可供它们使用。虽然广播并不提供用户交互界面,它们也可以创建一个状态栏通知来提醒用户一个广播事件发生了。尽管如此,更多的情形是,一个广播只是进入其它组件的一个“门路”,并试图做一些少量的工作。例如,它可能发起一个服务,并通过服务执行与这个广播事件相关的工作。

broadcast receiver是
BroadcastReceiver
的子类实现,而且每一个广播通过Intent对象来传递。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐