我的 Android 应用程序中有一个类,我已将其设为 Parcelable,以便它可以在活动之间传递。
我希望能够将此对象保存到文件系统。似乎因为我已经实现了 Parcelable,所以将它的输出通过管道传输到文件系统并稍后再读回来是有意义的。
有没有正确的方法来做到这一点?或者,如果我想在活动之间传递对象并将其保存到文件系统,我必须同时实现 Parcelable 和 Serialiazble 吗?
我的 Android 应用程序中有一个类,我已将其设为 Parcelable,以便它可以在活动之间传递。
我希望能够将此对象保存到文件系统。似乎因为我已经实现了 Parcelable,所以将它的输出通过管道传输到文件系统并稍后再读回来是有意义的。
有没有正确的方法来做到这一点?或者,如果我想在活动之间传递对象并将其保存到文件系统,我必须同时实现 Parcelable 和 Serialiazble 吗?
来自http://developer.android.com/reference/android/os/Parcel.html
Parcel 不是通用的序列化机制。此类(以及用于将任意对象放入 Parcel 的相应 Parcelable API)被设计为高性能 IPC 传输。因此,将任何 Parcel 数据放入持久存储是不合适的:Parcel 中任何数据的底层实现的更改都可能导致旧数据不可读。
对于这个问题,我做了以下事情:
它最终变得非常简单......如果需要,我可以粘贴一些示例代码。