当前位置:首页 > 开发 > 开源软件 > 正文

Android的Intent机制

发表于: 2013-12-08   作者:aoyouzi   来源:转载   浏览次数:
摘要: Android的Intent机制 Android利用Intent建立对象连接和实现组件通讯,称为意图机制。 其核心设计思想:引入组件管理服务作为连接组件的管理者。该服务通过组件的配置信息了解系统中组件的功能和类别,帮助调用组件寻求符合其需求的实现组件,将调用者和实现者解耦。   意图机制下,通讯的角色: 调用组件:连接请求发起者,期望其他组件帮助完成功能。通过Context.st

AndroidIntent机制

Android利用Intent建立对象连接和实现组件通讯,称为意图机制。

其核心设计思想:引入组件管理服务作为连接组件的管理者。该服务通过组件的配置信息了解系统中组件的功能和类别,帮助调用组件寻求符合其需求的实现组件,将调用者和实现者解耦。

  意图机制下,通讯的角色:

调用组件:连接请求发起者,期望其他组件帮助完成功能。通过Context.startActivity()Context.bindService()等函数发起对目标组件的连接请求。

实现组件:响应调用者请求完成任务。无需关注调用者是谁,只需按照请求者发送的Intent对象去执行相关功能即可。

组件管理服务:从调用者组件接受Intent对象,将该对象与应用管理服务收集到的组件Intent  Filter 对象进行比较,选出符合调用组件需求的实现组件,构造并调用实现组件对象。

应用管理服务是一个系统服务,运行在系统核心进程中的独立进程,通过IPC,与各个组件实现通信。

 

Intent对象作用:组件间信息传递的载体;定义了组件间的连接协议。

 

Intent对象构成:

ActionAction表达动作,是一个字符串,通过Intent.setAction()设定,还可以Intent.getAction()读取动作信息;Action命名同包名类似,以保持唯一性和可拓展性);

Data:通过Intent.setData()Intent.setDataAndType()设置。Data数据用字符串URI存取;

Type:通过Intent.setType()Intent.setDataAndType()设置。TypeMIME类型数据,可以使用通配符*来表示整个类别信息。

Intent对象中DataType互斥使用。因此有了Intent.setDataAndType()

Category:表示条件约束。一个Intent可以有多个CategoryIntent.addCategory()添加,多个Category是与关系。

Component:目标组件的类型信息。Intent.setComponent()利用类名设定,或Intent.setClass()利用类型对象设定。

Extra:是一个Bundle对象,以键值对存储数据,可对数据进行系列化和反序列化。

Flags:是一个整形数,对组件透明。

Android的Intent机制

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
Android中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity具有自己的生
Activity Android中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity具
Activity Android中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity具
Activity Android中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity具
Activity Android中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity具
Activity Android中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity具
Android Activity和Intent机制学习笔记 Activity Android中,Activity是所有程序的根本,所有程序的
转自:http://www.cnblogs.com/feisky/archive/2010/01/16/1649081.html Activity Android中,Activ
原作者:http://www.cnblogs.com/feisky/category/225793.html Activity Android中,Activity是所有
Activity Android中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity具
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号