Android开发者确保应用程序运行的四大组件
16lz
2021-01-25
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交流,这就存在进程间通信的问题,但我们不用担心这些底层的细节,因为他们很好地进行了处理。
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交流,这就存在进程间通信的问题,但我们不用担心这些底层的细节,因为他们很好地进行了处理。
更多相关文章
- “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
- Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
- Nginx系列教程(六)| 手把手教你搭建 LNMP 架构并部署天空网络电影
- 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
- Android系统篇(二)——Android编译核心Build系统
- android中自定义ListView界面
- Android开发笔记(八十五)手机数据库Realm
- Android使用Intent启动其他非系统应用程序的方法
- android SQLite 批量插入数据慢的解决方案 (针对于不同的android