Android开发者确保应用程序运行的四大组件

来源:互联网 发布:淘宝lite下载 编辑:程序博客网 时间:2024/05/16 00:28
    Android开发平台系统是GoogIe于2007年1 1月05日发布的基于Linux平台的开源移动操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。Android中有四种组件,无论何时,一个请求都应该由一个特定的组件来处理,Android系统会确保包含这个组件的应用进程运行;如果需要就实例化并启动它。


 Android开发入门之浅析Android四大组件运行主体程序

 1 Activity

 一个Activity是一个可见的、用户可以与之进行交互的界面。例如,一个Activity可以显示菜单,用户能够选择菜单中的一项;一个短信应用中,其中一个Activity负责显示联系人列表,第二个Activity负责向第一个Activity选择的联系人写消息,这一点在扣丁学堂Android开发培训中有很详细的介绍。第三个Activity负责显示短信历史,虽然彼此结合形成一个应用,但每个Activity都是彼此独立的,每个都是Activity的子类。

 2  Service

 service是一个用户不可见的组件:在一段不确定的时间里运行在系统后台,每个service都继承自Service类。例如,一个服务可以在后台播放音乐,在网络中获取数据或执行复杂的计算。

 可以连接或者绑定到一个正在运行的service(如果这个service还没运行的话就启动它),当连接到service后,你可以通过一个service暴露出来的接口和这个service交流,对音乐service来说,其接口允许用户暂停、后退、停止和重新播放音乐。和Activity或者其他组件一样,service运行在这个应用进程的主线程中,所以它不应该阻塞其他的组件或者用户界面,它们经常为那些耗时长的任务单独开一个线程。

 一个service可以通过调用自己的stopSelf0,或者在其他应用组件中调用stopService(Intentservice)来关闭。

 3 Broadcast receiver

 一个Broadcast receiver是这样一个组件,它接收广播并作出反应;在系统中有很多已有的广播,比如反映时区变化的、电池变化的、用户修改了系统语言时的广播等,应用程序也可以自定义广播,比如定义这样一个广播:让其他的应用知道某些数据已经下载完毕可以使用了。

 一个应用可以有任意多个Broadcast receiver来对它所关心的广播进行监听并作出反应。所有的receiver都继承自Broadcast Receiver类。

 4 Content providers

 在Android中,Contentproviders统一了数据的访问方式。Contentproviders是一个应用程序数据的集合,方便其他的应用访问其中的应用程序数据,这些数据可以被存在文件系统中、SQLite数据库中,或者其他可以存数据的地方,Contentproviders同时还是一个基本的方法集合来使其他的应用可以获得和存储这些数据,然而应用不直接调用这些方法,而是使用一个ContentResolver对象来调用这些方法,一个ContentResolver可以和任何Contentprovider交流,这就存在进程间通信的问题,但我们不用担心这些底层的细节,因为他们很好地进行了处理。

0 0