Activity中的数据传递

来源:互联网 发布:js 动态仪表盘 编辑:程序博客网 时间:2024/05/24 02:27

在Android开发中,经常要在activity之间传递数据。Internet可以用来开启activity,同样他也可以用来在activity之间传递数据。

在Android开发中,经常要在activity之间传递数据。Internet可以用来开启activity,同样他也可以用来在activity之间传递数据。使用Internet传递数据只需要调用putExtra()方法将想要存储的数据存在Internet中即可。例如,在Activity01中存储一个字符串,现在要将这个字符串传递到Activity02中,可以使用如下代码:

String data="hello Activity"Intent intent = new Intent(this,Activity02.class);intent.putExtra("extra_data",data);starActivity(intent);
在上述代码中,通过显式意图开启Activity02.并通过putextra()方法传递了一个字符串data。putExtra()方法中第一个参数接受的key,第二个参数接收的是value。
如果想要在Activity02中取出传递过来的数据,可以使用如下代码:
Intent intent =getIntent();
String data==intent.getStringExtra("extra_data");
Log.i("Activiry01",data);
上述这种数据传递方法是最简单的一种数据传递方式,还有一种数据传递方式是调用putExtra()方法传递数据,该方法传递的是Bundle对象。调用putExtra()方法传递数据可以用如下代码:
Bundle bundle-new Bundle();
bundle。put String("name","Linda");
bundle.putInt("age",20);
Intent intent-new Intent(this,Activity01.class);
intent.putExtra(bundle);
startActivity(intent);
如果想要在Activity01中取出上述方法传递的数据,可以使用如下代码:
Intent intent-getIntent();
Bundle bundle=intent.getString("name"):string stuName-bundele.getstring("name");
int stuAge-bundle.getSring("age");
在上述代码中,在接收Bundle对象封装的数据时,需要先创建对应的Bundle对象,然后再根据数据存入的key值取出value。其实用intent传递数据以及对象时,它的内部也调用了Bundle对象相应的put方法,也就是说Intent内部也是用Bundle来实现数据传递的,只是封装了一层而已




原创粉丝点击