- 2
- 0
- 约3.83千字
- 约 4页
- 2017-06-07 发布于重庆
- 举报
Android开发之旅应用程序基础及组件(续)
引言
上篇Android开发之旅:应用程序基础及组件介绍了应用程序的基础知识及Android的四个组件,本篇将介绍如何激活组关闭组件等。本文的主题如下:
1、激活组件:意图(Intents)
1.1、活动(Activity)组件的激活
1.2、服务(Service)组件的激活
1.3、广播接收者(Broadcast receiver)组件的激活
2、关闭组件
3、清单文件
4、Intent过滤器
1、激活组件:意图(Intents)
当接收到ContentResolver发出的请求后,内容提供者被激活。而其它三种组件——活动、服务和广播接收者,被一种叫做意图(intent)的异步消息激活。意图是一个保存着消息内容的Intent对象。对于活动和服务来说,Intent对象指明了请求的操作名称以及作为操作对象的数据的URI和其它一些信息。例如,它可以传递对活动的一个请求,让它为用户显示一张图片,或者让用户编辑一些文本。而对于广播接收者而言,Intent对象指明了广播的行为。例如当照相按钮被按下,它可以对所有感兴趣的对象广播。
对于每种组件来说,激活的方法是不同的。下面将分别介绍活动、服务、广播接收者组件的激活方法。
1.1、活动(Activity)组件的激活
通过传递一个Intent对象至Context.startActivity 或Activity.startActivityForResult 以载入(或指定新工作给)一个活动。相应的活动可以看到初始的意图,这个意图通过getIntent 方法来查看激活活动。Android调用活动的onNewIntent 方法传递任何后续的意图。
一个活动经常启动了下一个。如果它期望它所启动的那个活动返回一个结果,它会调用startActivityForResult 而不是startActivity 。例如,如果它启动了一个活动让用户挑选一张照片,它可能会返回被选中的照片。结果以一个Intent对象传递调用活动的onActivityResult 方法。
1.2、服务(Service)组件的激活
通过传递一个Intent对象至Context.startService 以启动一个服务(或给予正在运行的服务以一个新的指令)。Android调用服务的onStart 方法并将Intent对象传递给它。
与此类似,一个Intent可以传递给Context.bindService 以在调用的组件和目标服务之间建立持续的连接。这个服务会在调用onBind 方法中接受这个Intent对象(如果服务尚未启动,bindService 会先启动它)。例如,一个活动可以连接至前面讲到的音乐播放服务,并提供给用户一个可操作的(用户界面)以对播放进行控制。这个活动可以调用bindService 来建立连接,然后调用服务中定义的对象来控制播放。
1.3、广播接收者(Broadcast receiver)组件的激活
应用程序可以通过将Intent对象传递给
Context.sendBroadcast Context.sendOrderedBroadcast Context.sendStickyBroadcast
及其它类似方法来产生一个广播。Android会通过onReceive 方法将intent传递给所有对此广播有兴趣的广播接收者。
2、关闭组件
内容提供者仅在响应ContentResolver提出请求的时候激活。而一个广播接收者仅在响应广播信息的时候激活。所以,没有必要去显式的关闭这些组件。
而活动则不同,它提供了用户界面。与用户进行会话,所以只要会话依然持续,哪怕对话进程空闲,它都会一直保持激活状态。与此相似,服务也会在很长一段时间内保持运行。所以Android提供方法有序地关闭活动和服务。
可以通过调用它的finish 方法来关闭一个活动。一个活动也可以通过调用finishActivity 方法来关闭另外一个活动(它用startActivityForResult 启动的)。
服务可以通过调用它的stopSelf 方法来停止,或者调用 Context.stopService 。
当组件不再被使用的时候或者Android必须要为更多活跃的组件回收内存时,组件也可能会被系统关闭。
3、清单(manifest)文件
当Android启动一个应用程序组件之前,它必须知道那个组件是存在的。所以,应用程序会在一个清单(manifest)文件中声明它的组件,这个文件会被打包到Android包中。这个.apk文件还将包括应用程序的代码、文件以及其它资源。
这个清单文件是XML结构的文件,且所有的Android应用程序都把它叫做AndroidManifest.xml
您可能关注的文档
- 9年级中考测试卷.doc
- 王铭州毕业设计PIC在全自动洗衣机控制系统中的研究与应用.doc
- 9开放经济模型.ppt
- 王青实习报告.doc
- 王高雄版《常微分方程》习题解答4.2.doc
- 7.4重力势能同步练习(附答案).doc
- 7.41-02绿化工程验收接管标准作业规程.doc
- 9的倍数特征.ppt
- 《练习十五》教学课件.ppt
- 9种毁车的汽车美容误区.doc
- 《自然灾害灾情核查评估规范》DB41T 3066-2025(河南标准).pdf
- 《矿山大直径工程井钻完井技术规范》DB41T 3059-2025(河南标准).pdf
- GB 15605-2024粉尘爆炸泄压规范解读.pptx
- 2026年湖南省公安招聘辅警考试试卷含答案.docx
- 2025年内蒙古区法院员额法官遴选笔试真题及答案解析.doc
- 2025年西藏区法院员额法官遴选笔试真题及答案解析.doc
- 2025年广西区员额检察官入额考试试题及答案解析.doc
- 2025年宁夏区检察院检察官遴选笔试真题及答案解析.doc
- 2025年西藏区检察院检察官遴选笔试真题及答案解析.doc
- 2025年广西区法院员额法官遴选笔试真题及答案解析.doc
最近下载
- (2026春新版)人教版二年级数学下册全册PPT课件.pptx
- 2025年青岛职业技术学院单招(语文)测试模拟题库1套.docx VIP
- 2023年山东理工职业学院单招综合素质考试试题及答案解析.docx VIP
- 施工单位图纸会审要点培训PPT课件.pptx
- DBJ T 13-437-2023 装配式钢结构基坑支护技术标准.pdf VIP
- 戊二醇系列产品及其衍生物项目环评环境影响报告书.pdf
- 2024年山东理工职业学院单招综合素质考试模拟试题及答案解析.docx VIP
- 小学生必背歇后语100条.pdf VIP
- 2023青岛职业技术学院高职单招语文/数学/英语笔试参考题库含答案解析.docx VIP
- 5G优化案例:5G网络覆盖优化经验总结.pdf VIP
原创力文档

文档评论(0)