Parcelable是安卓中的一个接口,用于实现序列化。同Serializable一样。
二者的区别:Parcelable效率要高于Serializable。主要用在内存中实现序列化。在安卓中推荐使用Parcelable。但是实现起来要稍微麻烦些。
Serializable主要用于在存储设备中实现序列化。实现起来比较简单。
1.Parcelable使用方法:
自定义类实现Parcelable接口,并重写以下方法:
public class Book implements Parcelable {
public String bookName;
public int bookId;
public boolean isColorBook;
public Book() {
}
public Book(String bookName, int bookId, boolean isColorBook) {
super();
this.bookName = bookName;
this.bookId = bookId;
this.isColorBook = isColorBook;
}
//反序列化方法
private Book(Parcel p) {
bookId = p.readInt();
bookName = p.readString();
isColorBook = p.readInt() == 1;
}
@Override
public int describeContents() {
//固定写法 返回0
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
// 序列化方法
dest.writeString(bookName);
dest.writeInt(bookId);
dest.writeInt(isColorBook ? 1 : 0);// 未提供writeBoolean方法 1为true 0为false
}
public