第6章 使用Intent和IntentFilter进行通信-【千锋教育】Android从入门到精通

2023-03-21
| 18页
| 250人阅读
| 0人下载
教辅

内容正文:

第6章 使用Intent和IntentFilter进行通信 Intent对象简述 Intent属性及intent-filter配置 理解Intent对Android应用的作用 掌握Intent-filter配置 掌握Intent的使用方法 掌握Intent几种常用的属性的使用方法 学 习 目 标 LEARNING OBJECTIVES 初心至善 匠心育人 6.1 Intent对象简述 目录 Contents 初心至善 匠心育人 6.1 Intent对象简述 在第1章介绍Android组件时简单介绍了Intent和IntentFilter的概念,在第5章例5-2中举例示范了显式与隐式两种方式启动目标Activity。并且前面介绍的很多例子也都使用到了Intent,相信大家已经对Intent不陌生了。下面对Intent对象进行更全面的介绍。 前面已经介绍到,Activity、Service和BroadcastReceiver都是通过Intent启动,并且可以通过Intent传递数据。下表列出了使用Intent启动不同组件的方法。 初心至善 匠心育人 4 6.1 Intent对象简述 关于Service与BroadcastReceiver的启动,在后面的章节中会详细讲解。这里只介绍Intent的相关内容。Intent包含的属性主要包括Component、Action、Category、Data、Type、Extra和Flag这7种属性。其中Extra属性在前面的很多示例中都有涉及,就不做介绍了。接下来详细介绍剩余6个属性的作用,以及使用示例。 初心至善 匠心育人 5 6.2 Intent属性及intent-filter配置 6.2.1 Component属性 6.2.2 Action、Category属性与intent-filter配置 6.2.3 Data、Type属性与intent-filter配置 6.2.4 Flag属性 目录 Contents 初心至善 匠心育人 6.2.1 Component属性 Component单词有“组件”的意思,顾名思义,使用Component属性时需要传入目标组件名,来看一个具体使用示例。 6.2 Intent属性及intent-filter配置 初心至善 匠心育人 6.2.1 Component属性 可以看到在上面第11-15行代码中,Component属性中指定了要启动的Activity名称,很明显这里采用了显式Intent启动Activity。在之前的例子中,也有很多采用显式Intent启动目标Activity的例子,可以发现在这些例子中,显式启动目标组件是以下的方式: 6.2 Intent属性及intent-filter配置 显示启动明确指定了当前组件名与目标组件名。那么上面代码中的显式启动方式,与例6-1中的显式启动方式有什么区别呢?其实是一样的。例6-1中第11-15行首先创建了ComponentName对象,并将该对象设置成Intent对象的Component属性,这样应用程序即可根据该Intent “意图”启动指定的SecondActivity。当为Intent设置Component属性时,Intent提供了一个构造器用来直接指定目标组件名称。 初心至善 匠心育人 6.2.1 Component属性 当程序通过显式Intent(无论上面两种中的哪一种)启动目标组件时,被启动的组件不需要配置intent-filter元素就能被启动。 例6-1中的SecondActivity布局文件中只有一个TextView,这里不予展示,直接来看Java代码。 6.2 Intent属性及intent-filter配置 上面程序中第7行代码用来接收传过来的Component属性,TextView组件用于显示Component中的组件名和包名。 初心至善 匠心育人 6.2.2 Action、Category属性与intent-filter配置 Action与Category的属性值都是普通的字符串,其中Action设置Intent要完成的抽象动作,Category为Action添加额外的附加类别信息。通常这两个属性是结合使用的,在之前的很多示例中,观察对应的AnroidManifest.xml清单文件就会发现,凡是作为程序的入口Activity,都会配置以下几行代码: 6.2 Intent属性及intent-filter配置 上面代码中action与category都指定了name值,其中action指定name值为“android.intent.action.MAIN”,该值是Android系统指定程序入口时必须配置的。Category指定name值为“android.intent.cat

资源预览图

第6章 使用Intent和IntentFilter进行通信-【千锋教育】Android从入门到精通
1
第6章 使用Intent和IntentFilter进行通信-【千锋教育】Android从入门到精通
2
第6章 使用Intent和IntentFilter进行通信-【千锋教育】Android从入门到精通
3
第6章 使用Intent和IntentFilter进行通信-【千锋教育】Android从入门到精通
4
第6章 使用Intent和IntentFilter进行通信-【千锋教育】Android从入门到精通
5
第6章 使用Intent和IntentFilter进行通信-【千锋教育】Android从入门到精通
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。