使用Bundle在Activity中来传递数据

当我们从一个活动跳转到另一个活动时,可能会传递一些数据,比如:注册等等。当我们填写完数据之后这些数据是怎样传到另一个活动中的呢,这就需要一个“信使”,Android提供给我们的是Intent,我们把数据放在Intent中,然后在另一个活动中取出。
查看官方文档,发现Intent的内容很多,这里只总结一下经常用到的内容:
Intent中提供了多个方法的重载来传递数据:

  • putExtras(Bundle data):向Intent中放入需要携带的数据包。
  • Bundle getExtras():取出intent中的数据包。
  • putExtra(String name,Xxx value):向Intent中放入key-value形式的键值对。
  • getXxxExtra(String name):从Intent中取出key值对应的数据。
  • putXxx(String key,Xxx data):向Bundle中放入如Int,Double型的数据。
  • getXxx(String key):从Bundle中取出Int,Double 等类型的数据。
  • putSerializable(String key,Serializable data):向Bundle中放入一个可序列化的数据。
  • getSerializable(String key,Serializable data):从Bundle中取出一个可序列化的数据。

可以看出Intent是通过Bundle来携带数据的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
是的,这个说法是正确的。在 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` 对象,并从取出之前存储的数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值