Android之Activiy间数据的传递

本文详细介绍了在Android中如何在Activity之间传递数据,包括从当前Activity传递数据给下一个Activity和回传数据给上一个Activity。通过Intent的putExtra方法保存数据,并在目标Activity中通过get方法获取。可传递的内容包括基本数据类型、数组、集合、实现Serializable或Parcelable接口的类等。使用startActivityForResult()启动Activity时,可从上一个Activity接收数据,需要在目标Activity中重写onActivityResult()方法。
摘要由CSDN通过智能技术生成

前言

Activity间数据的传递其实是很基础的内容,但是只知道大概,并没有搞清楚到底能够传递哪些内容,借此机会,进行一次整理,尽量将所有情况都涵盖。

从当前的Activity传递数据给下一个Activity

其实呢很简单,我们都知道启动一个Activity,我们通常是创建一个Intent对象,表明意图,再调用startActivity或者startActivityForResult方法,来启动下一个Activity,而传递数据时,我们只需要将数据使用Intent对象的putExtra方法保存起来,然后到下一个界面时,通过key值取出即可。
下面是我传递数据的代码:

        Intent intent = new Intent (this,OtherActivity.class);

        intent.putExtra ("byte",10);
        intent.putExtra ("char",'a');
        intent.putExtra ("short",100);
        intent.putExtra ("int",1000);
        intent.putExtra ("long",10000);
        intent.putExtra ("float",100.01);
        intent.putExtra ("double",100.001);
        intent.putExtra ("boolean",true);
        intent.putExtra ("string","string");
        byte[] bytes = new byte[]{ (byte) 0x85, (byte) 0x82 };
        intent.putExtra ("byteArray",bytes);
        char[] chars = new char[]{
  'a','b','A','B'};
        intent.putExtra ("charArray",chars);
        short[] shorts = new short[]{};
        intent.putExtra ("shortArray",shorts);
        int[] ints = new int[]{
  1,2,3,4};
        intent.putExtra ("intArray",ints);
        long[] longs = new long[]{
  10000,20000};
        intent.putExtra ("longArray",longs);
        float[] floats = new float[]{ (float) 100.01,(float) 100.02,(float) 100.03};
        intent.putExtra ("floatArray",floats);
        double[] doubles = new double[]{
  100.001,100.002,100.003};
        intent.putExtra ("doubleArray",doubles);
        boolean[] booleans = new boolean[]{true,false,true};
        intent.putExtra ("booleanArray",booleans);
        String[] strings = new String[]{
  "abc","def","ABC"};
        intent.putExtra ("stringArray",strings);
        intent.putExtra ("CharSequence","CharSequence");
        CharSequence[] charSequences = new CharSequence[]{
  "CharSequence1","CharSequence2"};
        intent.putExtra ("charSequences",charSequences);
        ParcelableImp parcelableImp = new ParcelableImp ();
        parcelableImp.setTestInt (88);
        parcelableImp.setTestString ("surprise");
        intent
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值