- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
androi中intent的详解
Android 中的 Intent 详细讲解
编辑文档
在一个 Android 应用中 ,主要是由四种组件 组成的 ,这四种组件可参考 “Android 应用的
构成 ”。
而这四种组件是独 立的 ,它们之间可以互相 调用 ,协调工作 ,最终组成一个真正 的 Android 应用 。
在这些组件之间的 通讯中,主要是由 Intent 协助完成的。
Intent 负责对应用中一次 操作的动作 、动作涉及数据 、附加数据进行描述 ,Android 则根据 此
Intent 的描述,负责找到 对应的组件,将 Intent 传递给调用的组件 ,并完成组件的调用。
因此 ,Intent 在这里起着一个媒 体中介的作用 ,专门提供组件互相 调用的相关信息 ,实现调用者与
被调用者之间的解 耦。
例如,???一个联系 人维护的应用中,当我们在一个联 系人列表屏幕(假设对应的 Activity 为
listActivity )上,点击某个联 系人后,希望能够跳出此联系人的 详细信息屏幕(假设对应的 Activi
ty 为 detailActivity )
为了实现这个目的 ,listActivity 需要构造一个 Intent ,这个 Intent 用于告诉系统 ,我们要做 “查看 ”
动作,此动作对应 的查看对象是 “某联系人 ”,然后调用 startActivity (Intent intent) ,
将构造的 Intent 传入 ,系统会根据此 Intent 中的描述 ,到 ManiFest 中找到满足此 Intent 要求的 A
ctivity ,系统会调用找到 的 Activity ,即为 detailActivity ,最终传入 Intent , detailActivity 则会根
据此 Intent 中的描述,执行相 应的操作。
一、抽象描述要描 述什么
在 Android 参考文档中,对 Intent 的定义是执行某操 作的一个抽象描述(确实很抽象) 。我
们先来看看这里的 抽象描述,到底描述了什么。
首先,是要执行的 动作( action )的一个简要描述 ,如 VIEW_ACTION (查看)、 EDIT_A
CTION (修改)等, Android 为我们定义了一套 标准动作:
复制内容到剪贴板
代码 :
MAIN_ACTION
VIEW_ACTION
EDIT_ACTION
PICK_ACTION
GET_CONTENT_ACTION
DIAL_ACTION
CALL_ACTION
SENDTO_ACTION
ANSWER_ACTION
INSERT_ACTION
DELETE_ACTION
RUN_ACTION
LOGIN_ACTION
CLEAR_CREDENTIALS_ACTION
SYNC_ACTION
PICK_ACTIVITY_ACTION
WEB_SEARCH_ACTION
此外 ,我们还可以根据应 用的需要 ,定义我们自己的动 作 ,并可定义相应的 Activity 来处理我们的
自定义动作。
其次,是执行动作 要操作的数据( data ), Android 中采用指向数据的 一个 URI 来表示 ,如
在联系人应用中, 一个指向某联系人的 URI 可能为: content://contacts/1 。
这种 URI 表示 ,通过 ContentURI 这个类来描述 ,具体可以参考 android
文档评论(0)