Android Studio中如何在Activity跳转之间传递数据
Posted 哆啦C梦有百宝箱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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跳转之间的数据传递的方法~
觉得有用的话点个小赞再走呗~
如何在android studio中启用proguard? [重复]
这个问题在这里已有答案:
buildTypes {
release {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
minifyEnabled true
}
}
我启用了minifyEnabled,但它不允许我生成签名的apk。错误:任务':app:transformClassesAndResourcesWithProguardForRelease'
的执行失败。
作业失败,请参阅日志以获取详细信息生成签名的apk时会抛出此类错误。我也提过了
-ignorewarnings
-keep class * {
public private *;
}
在proGuard
规则。
改变这个 - :
minifyEnabled true
至-:
minifyEnabled false
它肯定会奏效。
以上是关于Android Studio中如何在Activity跳转之间传递数据的主要内容,如果未能解决你的问题,请参考以下文章