01 概念和使用场景
Android中序列化的两个接口
Serializable
Parcelable
其中Serializable是Java自带的序列化接口,Parcelable是Android特有的序列化接口
序列化的目的是:
- 对象数据的永久保存
- 通过网络进行传输(网络传输的是字节流,需要通过序列化将数据转换成字节流)
- 对象数据的进程间的传递
- 使用Intent传递复杂的数据结构。
02 基本使用方法
使用举例: Activity A 通过 Intent向Activity B传递Java复杂对象
A 中的代码:其中userInfoRepBean已经实现了Parcelable接口
Intent intent = new Intent(this, ActivityTarget.class);
Bundle bundle = new Bundle();
//Parcelable 序列化
bundle.putParcelable(Constants.USER_INFO, userInfoRepBean);
intent.putExtras(bundle);
startActivity(intent);
B中的代码:
Bundle extras = intent.getExtras();
//Parcelable 反序列化
UserInfoRepBean person = extras.getParcelable(Constants.USER_INFO);
Log.d(TAG, "initData: nickname is " + person.getResult().getNickName());
03 Android studio中的插件
使用Android Parcelable code generator 插件可以快速的是你的JavaBean 实现Parcelable接口。
找到需要实现Parcelable接口的类,右击,generate,然后选择Parcelable