我想编组和解编实现Parcelable到/从字节数组的类。我很好地意识到以下事实:Parcelable表示形式不稳定,因此并不意味着可以长期存储实例。但是我有一个用例,我需要序列化一个对象,并且如果由于内部Android更改而导致解组失败,则这不是最重要的事情。而且该类已经在实现Parcelable接口。给定一个类MyClass implements Parcelable,我如何(ab)使用该Parcelable接口进行编组/解组?
3 回答
森林海
TA贡献2011条经验 获得超2个赞
public static byte[] pack(Parcelable parcelable) {
Parcel parcel = Parcel.obtain();
parcelable.writeToParcel(parcel, 0);
byte[] bytes = parcel.marshall();
parcel.recycle();
return bytes;
}
public static <T> T unpack(byte[] bytes, Parcelable.Creator<T> creator) {
Parcel parcel = Parcel.obtain();
parcel.unmarshall(bytes, 0, bytes.length);
parcel.setDataPosition(0);
return creator.createFromParcel(parcel);
}
MyObject myObject = unpack(new byte[]{/* bytes */}, MyObject.CREATOR);
- 3 回答
- 0 关注
- 887 浏览
添加回答
举报
0/150
提交
取消