Android Activity间高效数据传递:基础类型与Bundle示例

5星 · 超过95%的资源 1 下载量 38 浏览量 更新于2024-09-04 收藏 46KB PDF 举报
"在Android开发中,Activity之间的参数传递是一项常见的任务,特别是在导航或数据共享过程中。本文将深入探讨两种主要的参数传递方法:简单数据类型和Bundle数据包。 1. 传递简单数据类型 当需要传递的基础数据类型如字符串、整数等时,可以使用`putExtra()`方法。例如,在Activity A中,通过`Intent` `i`,我们将字符串"我是国人"作为键值对`"data"`传递: ```java i.putExtra("data", "我是国人"); ``` 在Activity B中,通过`getIntent().getStringExtra("data")`获取并显示这个字符串: ```java tv.setText(i.getStringExtra("data")); ``` 这种方法适用于数据量小且不需要复杂结构的情况。 2. 传递数据包Bundle 对于更复杂的数据结构或者需要存储多个变量的情况,推荐使用`Bundle`。在Activity A中,创建一个新的`Bundle`,添加键值对,如名字("name", "qll")和年龄("age", 3),然后将`Bundle`作为额外数据(`extra`)传递: ```java Bundle bundle = new Bundle(); bundle.putString("name", "qll"); bundle.putInt("age", 3); i.putExtra("data", bundle); ``` 在Activity B中,接收`Bundle`时,可以使用`getBundle()`而不是`getExtras()`,然后根据键获取对应的值: ```java Bundle date = i.getBundle("data"); tv.setText(date.getString("name")); // 获取名字 editText.setText(String.valueOf(date.getInt("age"))); // 获取年龄 ``` 使用`Bundle`能更好地管理复杂的数据,同时保持代码整洁。 总结,Android中的Activity间参数传递主要有两种策略:直接传递简单数据类型(适合轻量级数据)和使用Bundle存储和传递数据结构(适合大量或复杂数据)。理解并灵活运用这些方法,有助于实现应用程序间的高效数据交换。"