Android序列化有两种方式,实现 Parcelable、Serializable
其中Serializable Java实现就可以了
一、实现 Parcelable
public class Student implements Parcelable {
private int id;
private String name;
protected Student() {
}
public Student(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
// 反序列过程:必须实现Parcelable.Creator接口,并且对象名必须为CREATOR
// 读取Parcel里面数据时必须按照成员变量声明的顺序,Parcel数据来源上面writeToParcel方法,读出来的数据供逻辑层使用
public static final Creator<Student> CREATOR = new Creator<Student>() {
@Override
public Student createFromParcel(Parcel in) {
return new Student(in.readInt(), in.readString());
}
@Override
public Student[] newArray(int size) {
return new Student[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
// 序列化过程:必须按成员变量声明的顺序进行封装
dest.writeInt(id);
dest.writeString(name);
}
}
二、出现一个问题,我在 工程 新建一个module library,里面一个实体类
实现Parcelable ,就是不起作用
报错 java.io.NotSerializableException 不得不用另一种方式
参考:
http://www.cnblogs.com/hpboy/archive/2012/07/12/2587797.html
http://www.jianshu.com/p/ae2c7004179d