Android零基础开发专题五:Activity、BroadcastReceiver、Service、Content Provider
Posted on 2012-06-24 15:42 myAnd 阅读(843) 评论(0) 编辑 收藏 举报一个Android应用程序一般是由Activity、Intent Receiver、Service、Content Provider这4部分组成。但是,并不是每一个Android应用程序都需要这四种构造块,这不是必须的,某些时候,我们只需要这四种中的几种组合成我们的应用。当我们明确了我们的应用需要哪些构造块后,我们就需要在AndroidManifest.xml中注册这些构造块的清单。这是一个XML配置文件,这个配置文件用于定义我们的应用程序的组件、组件的功能及必要条件等。这个配置文件是每个Android应用必需的。下面就由小彬哥来对四种构造块做一个简单的介绍:
1、Activity
Activity是Android应用程序中最基本的一种。一个activity通常就是一个单独的屏幕。每一个activity都被实现为一个独立的类,并且继承于Activity这个基类。这个activity类将会显示由几个Views控件组成的用户接口,并对事件做出响应。大部份的应用都会包含多个的屏幕。例如,一个短消息应用程序将会有一个屏幕用于显示联系人列表,第二个屏幕用于写短消息,同时还会有用于浏览旧短消息及进行系统设置的屏幕。每一个这样的屏幕,就是一个Activity。
当一个新的屏幕打开后,前一个屏幕将会暂停,并保存在历史堆栈中。用户可以返回到历史堆栈中的前一个屏幕。当屏幕不再使用时,还可以从历史堆栈中删除。默认情况下,Android将会保留从主屏幕到每一个应用的运行屏幕。
Android使用了Intent这个特殊类,实现在屏幕与屏幕之间移动。Intent类用于描述一个应用将会做什么事。
2、BroadcastReceiver
它类似于一个广播,对于用户而言,它是不可见的。如果你希望你开发的软件对外部的事情能够做出一个相应,并在你的软件中通知用户。就可以使用BroadcastReceiver。比如在使用你的软件过程中,有电话呼入、短信等。
3、Service
一个Service是一段长生命周期的,没有用户界面的程序。比如一个正在从播放列表中播放歌曲的媒体播放器。在一个媒体播放器的应用中,应该会有多个activity,让使用者可以选择歌曲并播放歌曲。然而,音乐重放这个功能并没有对应的activity,因为使用者当然会认为在导航到其它屏幕时音乐应该还在播放的。媒体播放器这个activity会使用Context.startService,从而可以在后台保持音乐的播放。同时,系统也将保持这个service一直执行,直到这个service运行结束。
4、Content Provider
应用程序把数据保存到文件或SQL数据库中,甚至是任何有效的设备中。当你想将你的应用数据与其它的应用共享时,Content Provider将起到作用。一个Content Provider类实现了一组标准的方法,从而能够让其它的应用保存或读取此Content Provider处理的各种数据类型。