在Android应用开发中,Intent是连接应用程序组件的重要桥梁,它用于启动新的Activity或者服务,以及在组件间传递数据。Intent可以分为显式Intent和隐式Intent。本篇将重点讲解如何利用Intent在Android中调用Activity,并进行数据的传递与接收。 让我们了解一下Activity。在Android中,Activity是用户界面的载体,它代表了用户可以看到并与其交互的一个屏幕。通过Intent,我们可以启动一个新的Activity,或者从一个Activity跳转到另一个Activity。 Intent的构造通常包括以下步骤: 1. 创建Intent对象:你可以通过`new Intent()`来创建Intent实例。若要启动特定的Activity,你需要提供目标Activity的类名,这属于显式Intent。例如: ```java Intent intent = new Intent(context, TargetActivity.class); ``` 2. 设置Intent的动作:Intent的`ACTION`字段可以设置为系统预定义的常量,如`ACTION_VIEW`,或者自定义字符串。 3. 传递数据:通过`putExtra()`方法可以向Intent中添加键值对,用于传递数据。数据类型可以是基本类型(如String、int)、Parcelable对象或Serializable对象。例如,传递一个字符串: ```java intent.putExtra("key", "value"); ``` 4. 启动Activity:使用`startActivity()`方法启动Intent指向的Activity。 ```java context.startActivity(intent); ``` 对于有返回值的情况,我们可以使用`startActivityForResult()`方法启动Activity。这个方法需要两个参数:Intent和请求码。请求码用于在接收结果时区分不同的调用。 在目标Activity中,我们可以通过`setResult()`方法设置返回结果,并调用`finish()`方法结束当前Activity。例如,返回一个字符串: ```java Intent resultIntent = new Intent(); resultIntent.putExtra("resultKey", "resultValue"); setResult(RESULT_OK, resultIntent); finish(); ``` 在启动Activity的原Activity中,我们需要重写`onActivityResult()`方法来接收返回的数据。这个方法包含三个参数:请求码、结果码和Intent。结果码`RESULT_OK`表示成功,`RESULT_CANCELED`表示取消。例如: ```java @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == YOUR_REQUEST_CODE && resultCode == RESULT_OK) { String result = data.getStringExtra("resultKey"); // 处理返回的数据 } } ``` 现在,关于"e_5_1 Chat Activities"这个压缩包文件,虽然没有具体的内容展示,但我们可以推测它可能包含了一个聊天应用相关的例子,演示了如何通过Intent在不同聊天Activity之间切换,同时传递和接收聊天消息。 Intent是Android中实现组件间通信的关键,通过它可以灵活地启动Activity并传递数据。理解和熟练使用Intent对于Android开发者来说至关重要。在实际项目中,根据需求调整Intent的构造和使用方式,可以实现丰富的功能和交互。






































































































- 1

- s062210982012-12-28简单明了,还行
- jianfu2014-10-15比较简单了。能用
- cshcool2013-03-14还行吧,凑合用

- 粉丝: 1
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 高三数学一轮作业节练习:算法初步.doc
- 大数据时代报业新闻档案管理工作的探索与创新.docx
- 《软件工程》试卷.doc
- 用C语言程序设计方案完成数学序列求和说课.doc
- 基于 MQTT 与 Kafka 的 OPC 数据采集至 Influxdb 服务
- 大数据时代数字档案馆建设探究.docx
- 滑雪公司网站建设方案.doc
- IIILinux系统编程进程进程控制.doc
- 大、小球分拣传送机械PLC控制梯形图的设计与调试.docx
- 浙江传媒学院《宽带网络》重点归纳(修改版本).doc
- 跨境电子商务发展现状及外汇管理难点研究.docx
- 精雕机编程培训教程.ppt
- vb-经典例题.ppt
- 大学生计算机基础模块化教学的运用.docx
- 车辆牌照图像识别算法研究与实现.doc
- 智能电风扇控制器实施方案单片机课程实施方案.doc


