安卓intent跳转界面传递大数据处理

android.os.TransactionTooLargeException: data parcel size 562012 bytes传递大数据异常

针对安卓intent传递大数据问题,我也是最近才遇到,网上找了各种方法,如今分享一下:
首先 新建一个数据类:

import android.os.Binder;

/**
 * 应对跳转考试答题页 intent传递大数据时候
 */
public class BigBinder extends Binder {

    public AnswerPageEntity answerPageEntity;

    public BigBinder(AnswerPageEntity answerPageEntity) {

        this.answerPageEntity=answerPageEntity;

    }

}

其中是我要传递的对象类;

然后调整开始页代码如下:

 Intent intent = new Intent(this, NewAnswerPageActivity.class);
        Bundle bundle=new Bundle();
        BigBinder bigBinder=new BigBinder(answerPageEntity);
        bundle.putBinder("bigData",bigBinder);
        intent.putExtra("bundle",bundle);
        startActivity(intent);

接收的界面代码如下:

 Bundle bundle=intent.getBundleExtra("bundle");
            BigBinder bigBinder = (BigBinder) bundle.getBinder("bigData");
            Log.d("mawl","获取的intent数据是=="+bigBinder.answerPageEntity.getCode());
            mAnswerPageEntity = bigBinder.answerPageEntity;

ok 完成了,大家可以试试。

你可能感兴趣的:(android)