Android中的Parcelable序列化对象
今天查阅资料,简单了解了一下Parcelable接口,它是android提供的序列化对象的接口,比java中的
Serializable高效些。通过这个接口序列化对象主要有两步:
1.实现publicvoidwriteToParcel(Parceldest,intflags){}方法;
2.实例化CREATOR
publicstaticfinalParcelable.Creator<ParcelableImpl>CREATOR=newParcelable.Creator<ParcelableImpl>(){
@Override
publicParcelableImplcreateFromParcel(Parcelsource){
returnnewParcelableImpl(source);
}
@Override
publicParcelableImpl[]newArray(intsize){
returnnewParcelableImpl[size];
}
};
详细说明参照如下代码:
importandroid.os.Parcel;
importandroid.os.Parcelable;
publicclassParcelableImplimplementsParcelable{
privateintnum;
ParcelableImpl(Parcelin){
num=in.readInt();
}
@Override
publicintdescribeContents(){
return0;
}
//将ParcelableImpl对象序列化为一个Parcel对象
@Override
publicvoidwriteToParcel(Parceldest,intflags){
dest.writeInt(num);
}
//CREATOR必须大写,而且必须是“CREATOR”
publicstaticfinalParcelable.Creator<ParcelableImpl>CREATOR=newParcelable.Creator<ParcelableImpl>(){
//将Parcel对象发序列化为ParcelableImpl
@Override
publicParcelableImplcreateFromParcel(Parcelsource){
returnnewParcelableImpl(source);
}
@Override
publicParcelableImpl[]newArray(intsize){
returnnewParcelableImpl[size];
}
};
}