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]; } }; }