




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【四、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文件代码1. package com.pj;2.3. import android.app.Activity;4. import android.content.Intent;5. import android.os.Bundle;6. import android.view.View;7. import android.view.View.OnClickListener;8. import android.widget.Button;9. import android.widget.EditText;10. /*11. * file : Activity1.java12. * author : duanpj13. * date : Jan 18, 2011 11:11:52 PM14. * version : 1.0 15. * descriptions : 16. */17. public class Activity1 extends Activity 18.19. private EditText text1=null;20. private EditText text2=null;21. private Button button1=null;22. Override23. public void onCreate(Bundle savedInstanceState) 24. super.onCreate(savedInstanceState);25. setContentView(R.layout.activity1);26. text1=(EditText)findViewById(R.id.act1_text1);27. text2=(EditText)findViewById(R.id.act1_text2);28. button1=(Button)findViewById(R.id.act1_button1);29. button1.setOnClickListener(new MyButtonListener() );30. 31.32. class MyButtonListener implements OnClickListener33. public void onClick(View v) 34. int num1=Integer.parseInt(text1.getText().toString();35. int num2=Integer.parseInt(text2.getText().toString();36. Intent intent=new Intent();37. intent.putExtra(value, (num1+num2)+);38. intent.setClass(Activity1.this,Activity2.class);39. Activity1.this.startActivity(intent);40.41. 42. 43. 第二个Activity文件代码1.2. package com.pj;3. import android.app.Activity;4. import android.content.Intent;5. import android.os.Bundle;6. import android.util.Log;7. import android.widget.TextView;8. /*9. * file : Activity2.java10. * author : duanpj11. * date : Jan 18, 201111:12:44 PM12. * version : 1.0 13. * descriptions: 14. */15. public class Activity2 extends Activity 16. 17. private TextView text1=null;18. Override19. public void onCreate(Bundle savedInstanceState) 20. super.onCreate(savedInstanceState);21. setContentView(R.layout.activity2);22. Intent intent=getIntent();23. String value=intent.getStringExtra(value);24. text1=(TextView)findViewById(R.id.act2_textview1);25. text1.setText(value);26. 27. activity1.xml1.2. 3. 8. 13. 18. 24. activity2.xml1. 2.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025除尘器配套设备采购合同范本
- 常州期末考试化学试题及答案
- 2025高考英语试题分类汇编:动词的时态、语态、情态动词、虚拟语气含解析
- 常德初三历史中考试卷及答案
- 2025简易货物运输合同范本
- 现代汉语语汇题目及答案
- 2025年高考化学试题分类汇编:物质结构与性质晶胞的分析与计算(含解析)
- 葡萄沟课件教学课件
- 2025购销合同终止协议示范文本
- 2025年3月生物技术习题库+答案
- 酒店开业客房筹备倒计时模板
- 2024中国保险发展报告-中南大风险管理研究中心.燕道数科
- 会计基础(中职)教学教案教学案例
- ASTM 标准中文版 A和B系列2021
- GB/T 43681-2024生态系统评估区域生态系统调查方法
- 大学英语3词汇表
- 公共政策导论全套教学课件
- 饮料风味稳定性与感官评价
- 充电宝市场调研报告
- 后端开发入门课件
- 高职应用写作课件
评论
0/150
提交评论