加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

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

(2023-06-06 16:25:36)
分类: androidios
使用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跳转之间的数据传递的方法~

觉得有用的话点个小赞再走呗~
————————————————
版权声明:本文为CSDN博主「哆啦C梦有百宝箱」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Lic_Ac/article/details/127254373

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有