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? [重复]

enter image description here

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跳转之间传递数据的主要内容,如果未能解决你的问题,请参考以下文章

如何在Android中取得当前进程名

如何在android studio中更新maven依赖

如何在android studio中建立一个html文件

android studio 如何将git 得到最新的版本

Android studio 中如何批量引入图片。一大堆图片!

如何在Android Studio中添加RecyclerView-v7支持包