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


组件是一个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对象来传递。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值