网站大量收购独家精品文档,联系QQ:2885784924

4、Activity与Intent.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4、Activity与Intent

【四、Activity与Intent】 Activity与Intent 上一节已经带领大家一起大体认识了一下Activity,相信大家对Activity也有了一定的了解。其实Activity就是一个窗口容器,创建好了Activity后,咱们就可以向其中放入各种各样的控件,这样一个最简单的Android应用程序就完成了。但是,对于绝大多数Android程序来说都不会只有一个Activity,新的问题就来了。怎么从一个Activity跳转到另一个Activity,并且将一些信息传递给它呢?这就用到了下面咱们要学习的对象——Intent。 Intent对象的作用是协助应用间的交互与通讯,Intent负责对Activity中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用。Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。 Intent对象的属性: (1)Action,也就是要执行的动作,SDk中定义了一些标准的动作,包括 ACTION_CALL (启动打电话的Acvivity)、ACTION_SENDTO(启动发短信的Activity)等。当然,也可以自定义动作,并可定义相应的Activity来处理我们的自定义动作。 (2)Data,也就是执行动作要操作的数据Android中采用指向数据的一个URI来表示,如在联系人应用中,一个指向某联系人的URI可能为:content://contacts/1。对于不同的动作,其URI数据的类型是不同的(可以设置type属性指定特定类型数据),如ACTION_EDIT指定Data为文件URI,打电话为tel:URI,访问网络为http:URI,而由content provider提供的数据则为content: URIs。 (3)type(数据类型),显式指定Intent的数据类型(MIME)。一般Intent的数据类型能够根据数据本身进行判定,但是通过设置这个属性,可以强制采用显式指定的类型而不再进行推导。 (4)category(类别),被执行动作的附加信息。例如 LAUNCHER_CATEGORY 表示Intent 的接受者应该在Launcher中作为顶级应用出现;而ALTERNATIVE_CATEGORY表示当前的Intent是一系列的可选动作中的一个,这些动作可以在同一块数据上执行。 (5)component(组件),指定Intent的的目标组件的类名称。通常 Android会根据Intent 中包含的其它属性的信息,比如action、data/type、category进行查找,最终找到一个与之匹配的目标组件。但是,如果 component这个属性有指定的话,将直接使用它指定的组件,而不再执行上述查找过程。指定了这个属性以后,Intent的其它所有属性都是可选的。 (6)extras(附加信息),是其它所有附加信息的集合。使用extras可以为组件提供扩展信息,比如,如果要执行发送电子邮件这个动作,可以将电子邮件的标题、正文等保存在extras里,传给电子邮件发送组件。 下面是一个简单的使用Intent对象实现一个Activity跳转到另一个Activity的例子: 首先看一下工程文件列表 下载 (9.54 KB) 2011-1-19 00:36 第一个Activity文件代码 package com.pj; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; /** * @file : Activity1.java * @author : duanpj * @date : Jan 18, 2011 11:11:52 PM * @version : 1.0 * @descriptions : */ public class Activity1 extends Activity { private EditText text1=null; private EditText text2=null; private Butto

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档