Intenti可以使用Bundle对象在Activity之间传递数据。()
时间: 2024-03-14 16:45:47 浏览: 68
是的,这个说法是正确的。在 Android 中,我们可以使用 `Intent` 对象在不同的组件之间传递数据,例如在不同的 `Activity` 之间传递数据。而 `Intent` 对象本身并不能直接传递复杂的数据类型,例如自定义的对象、数组、集合等,因此我们需要使用 `Bundle` 对象将这些数据类型打包后再通过 `Intent` 传递。
`Bundle` 是一个键值对数据结构,类似于 `Map`,可以用来存储不同类型的数据。我们可以通过 `put` 方法将数据存储到 `Bundle` 对象中,然后将 `Bundle` 对象通过 `putExtras()` 方法添加到 `Intent` 对象中。在接收 `Intent` 对象时,可以通过 `getExtras()` 方法获取传递过来的 `Bundle` 对象,再从 `Bundle` 对象中取出之前存储的数据。
以下是一个例子,演示了如何使用 `Bundle` 对象在 `Activity` 之间传递数据:
在发送 `Intent` 时:
```java
Intent intent = new Intent(this, TargetActivity.class);
Bundle bundle = new Bundle();
bundle.putString("name", "Tom");
bundle.putInt("age", 18);
intent.putExtras(bundle);
startActivity(intent);
```
在接收 `Intent` 时:
```java
Bundle bundle = getIntent().getExtras();
String name = bundle.getString("name");
int age = bundle.getInt("age");
```
可以看到,在发送 `Intent` 时,我们将一个包含字符串和整型数据的 `Bundle` 对象添加到 `Intent` 中;在接收 `Intent` 时,我们通过 `getExtras()` 方法获取传递过来的 `Bundle` 对象,并从中取出之前存储的数据。
阅读全文