Android Studio中如何在Activity跳转之间传递数据

使用Intent操作可以完成两个Activity之间的跳转,有时候也相应的需要在两个跳转活动之间传递数据,这篇就详细的介绍一些在Android开发中一些基础的活动跳转时传递数据的方法

调用PutExtra()方法

由于Activity之间的数据传递有许多不同种类型,所以在Inten类中提供了多个重载的putExtra()方法

具体用法如下:

通过putExtra()方法将传递的数据存储在Intent中

//创建一个意图并构造跳转对象
Intent intent=new Intent(this,SecondActivity.class);
//调用putExtra()方法
intent.putExtra("name","李华");//姓名
intent.putExtra("age",18);//性别
//启动SecondActivity活动
startActivity(intent);

 通过getXxxExtra()方法将传递的数据获取

//获取意图对象
Intent intent=getIntent();
//获取姓名
String name=intent.getStringExtra("name");
//获取年龄
String name=intent.getIntExtra("age",0);

这样就完成了第一种Activity之间数据传递的方法~ 

这里解释一下第三行代码(大佬跳过~):

//获取年龄
String name=intent.getIntExtra("age",0);

第二个参数设置为0,为什么呢?这里可以看一下getIntExtra()方法的参数定义

getIntExtra(String name,int defaultValue){
        //
}

第一个参数是键值,第二个参数代表默认取值,说明只有当putExtra()中没有传入age的值时,age才会赋予的值。

利用Bundle类传递数据

与map接口类似,都是通过键值对的方式来保存数据

示例如下:

//创建一个意图
Intent intent=new Intent();

//设置要跳转的Activity
intent.setClass(this,SecondActivity.class);

//创建一个Bundle对象
Bundle bundle=new Bundle();

//调用Bundle类中的putString()方法封装信息
bundle.putString("name","李华");//将姓名信息封装到Bundle中
bundle.putString("age","18");//将年龄信息封装到Bundle中

//将Bundle对象封装到Intent对象中
intent.putExtras(bundle);

//启动Avtivity活动
startActivity(intent);

在SecondActivity中获取数据代码如下

//获取Bundle对象
Bundle bundle=getIntent().getExtras();

//获取数据
String name=bundle.getString("name");
String age=bundle.getString("age");//注意此时age的类型不是int型,需要自行转换

这样就也完成了第二种在两个Activity跳转之间的数据传递的方法~

觉得有用的话点个小赞再走呗~

猜你喜欢

转载自blog.csdn.net/Lic_Ac/article/details/127254373