Android:Activity中的数据传递

在安卓开发中,经常要在activity之间传递数据,Intent可以用来开启activity,也可以用来在activity之间传递数据。

使用Intent传递数据只需调用putExtra()方法将想要存储的数据存在Intent中即可。当启动了另一个activity后,再把这些数据从Intent中取出即可。例如,Activity01中存储了一个字符串,现在要将这个字符串传递到Activity02中,可以使用如下代码:

String data = "Hello Activity02"
Intent intent = new Intent(this,Activity02.class);
intent.putExtra("extra_data",data);
startActivity(intent);


在上述代码中,通过显式意图开启Activity02,并通过putExtra()方法传递了一个字符串data。putExtra()方法中第一个参数接收的是key,第二个参数接收的是value。

如果想要在activity02中取出传递过来的数据,可以使用如下代码:

Intent intent = getIntent();
String data == intent.getStringExtra("extra_data");
log.i("Activity02",data);


上述这种数据传递方式是最简单的一种数据传递方式,还有一种传递数据的方式是调用putExtras()方法传递数据,该方法传递的是Bundle对象。调用putExtra()方法传递数据可以使用如下代码:

Bundle bundle = new Bundle();
bundle.putString("name","Linda");
bundle.putInt("age",20);
Intent intent = new Intent(this,Activity02.class);
intent.putExtras(bundle);
startActivity(intent);

如果想要在activity02中取出上述方式传递的数据,可以使用如下代码:

Intent intent = getIntent();
Bundle bundle = intent.getExtras();
String stuName = bundle.getString("name");
int stuAge = bundle.getString("age");


在上述代码中,在接收Bundle对象封装的数据时,需要先创建对应的Bundle对象,然后再根据存入的key值取出value。其实用Intent传递数据以及对象时,它的内部也是调用了Bundle对象相应的put()方法,也就是说Intent内部也是用Bundle来实现数据传递的,只是封装了一层而已。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值