4.Intent 知识点总结

来源:互联网 发布:澳门网络真人博客官网 编辑:程序博客网 时间:2024/06/08 16:44
1.请描述一下Intent和IntentFilter。    Android 中通过 Intent 对象来表示一条消息,一个 Intent 对象不仅包含有这个消息的目的地,    还可以包含消息的内容,这好比一封 Email,其中不仅应该包含收件地址,还可以包含具体的内容。    对于一个 Intent 对象,消息“目的地”是必须的,而内容则是可选项。    通过Intent 可以实现各种系统组件的调用与激活.      data/system/package.xml    Intent filter: 可以理解为邮局或者是一个信笺的分拣系统…    这个分拣系统通过3个参数来识别    Action: 动作    view     Data: 数据uri   uri     Category : 额外的附加信息     Action 匹配    Action 是一个用户定义的字符串,用于描述一个 Android 应用程序组件,一个 Intent Filter 可以包含多个 Action。在 AndroidManifest.xml 的 Activity 定义时可以在其 <intent-filter >节点指定一个 Action 列表用于标示 Activity 所能接受的“动作”,例如:     <intent-filter >      <action android:name="android.intent.action.MAIN" />      <action android:name="cn.itcast.action" />     ……     </intent-filter>     如果我们在启动一个 Activity 时使用这样的 Intent 对象:     Intent intent =new Intent();      intent.setAction("cn.itcast.action");     那么所有的 Action 列表中包含了“cn.itcast”的 Activity 都将会匹配成功。    Android 预定义了一系列的 Action 分别表示特定的系统动作。这些 Action 通过常量    的方式定义在 android.content. Intent中,以“ACTION_”开头。我们可以在 Android     提供的文档中找到它们的详细说明。    URI 数据匹配    一个 Intent 可以通过 URI 携带外部数据给目标组件。在 <intent-filter >节点中,    通过 <data/>节点匹配外部数据。    mimeType 属性指定携带外部数据的数据类型,scheme 指定协议,host、port、path 指定    数据的位置、端口、和路径。如下:     <data android:mimeType="mimeType" android:scheme="scheme"      android:host="host" android:port="port" android:path="path"/>     电话的uri   tel: 12345                http://www.baidu.com    自己定义的uri  itcast://cn.itcast/person/10    如果在 Intent Filter 中指定了这些属性,那么只有所有的属性都匹配成功时 URI 数据匹配才会成功。    Category 类别匹配    <intent-filter >节点中可以为组件定义一个 Category 类别列表,当 Intent 中包含这个列表的    所有项目时 Category 类别匹配才会成功。    默认是DEFAULT2.Intent传递数据时,可以传递哪些类型数据?    (1)一般的基本数据类型  Intent .putextra() intent.getextra();    (2)数据的uri, intent.setData() intent.getData();3.说说Activity,Intent,Service是什么关系。    麦当劳和麦当娜的关系是什么关系?    这种问题,就讲下activity,讲一下service,说一下 通过intent去激活组件,传递数据.    说自己项目中有这样一个网络更新的功能,显示界面就用的activity, 后台有个service每隔半小时    都去访问下服务器获取更新的数据…    开启服务用的是intent来开启4、隐式意图  通过指定一组动作或者数据 开启activity5、显示意图   通过指定具体包名和类名 开启activity    总结   (1)显示意图更加安全一些   (2)开启自己应用的界面用显示意图(不需要配置意图过滤器)   (3)隐式意图一般开启系统应用(电话拨号器 短信的发送器等等)的界面
0 0
原创粉丝点击