- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第七章Intent组件
回顾掌握基本UI组件中各种日期时间类型组件的使用
目标理解什么是Intent组件掌握IntentFilter使用掌握在Intent中传递参数掌握多个Activity组件进行交互通信
目标1、常用Intent2、关于数据data的说明
什么是Intent同Activity一样,也是Android应用组件在Android中承担着一种指令输出的作用Intent负责对应用中一次操作的动作及动作相关的数据进行描述。Android则根据此描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用实现Android应用组件之间的交互与通信包括Activity、Service、BroadcastReceiver组件
什么是Intent每个组件通过Intent关联,实现交互通信完美实现组件之间的解耦
Intent作用的表现形式在启动一个Activity时,Intent会发挥作用。比如:Context.startActivity()Activity.startActivityForResult()启动一个服务或者和后台服务交互时,比如:Context.startService()?或Context.bindService()通过广播发信息给BroadcastReceiver,比如:Context.sendBroadcast()Context.sendOrderedBroadcast()Context.sendStickyBroadcast()
Intent的组成Intent包含的属性:action 要执行的动作data 执行动作要操作的数据type 显示指定Intent的数据类型category 类别,被执行动作的附加信息extras 包含所有附加信息的集合component 指定Intent的目标组件的类名称
Intent的属性设置category属性为LAUNCHER设置action属性为MAIN将应用程序图标显示在程序列表中activityandroid:name=com.example.MainActivity“android:label=@string/app_nameintent-filteractionandroid:name=android.intent.action.MAIN/category android:name=android.intent.category.LAUNCHER//intent-filter/activity
显式和隐式Intent指定component属性的Intent,称为显式Intent。反之为隐式Intent例如,前面示例中通过setComponent()方法调用的Intent为显式Intent。其他为隐式Intent
Intent的属性明确指定目标组件调用通过setComponent()方法,设置compnonet属性,明确了要调用的目标组件//显示调用Intentit=newIntent();it.setComponent( newComponentName(com.example, com.example.OtherActivity) );startActivity(it);
IntentFilter过滤筛选Intent,仅对隐式Intent过滤在AndroidManifest.xml文件中以intent-filter节点的方式声明intent-filteractionandroid:name=android.intent.action.MAIN/categoryandroid:name=android.intent.category.LAUNCHER/..../intent-filter
IntentFilterIntentFilter是一个Intent属性限制的集合它会检测隐式Intent的action、data、category三种属性,其中任何一项失败,Android系统都不会传递Intent给此组件一个intentfilter中可以有多个action与category但最多只能有一个data元素而过滤时intent最多只有一个action,但可以有多个category,默认有一个Default。
隐式Intent过滤得到多个结果的问题从Intent中得到Action从Intent中得到Categories
IntentFilter一个组件可以有多个IntentFilter,Intent只要通过其中某一个IntentF
文档评论(0)