Android在SQLite中存储一个Parcelable对象

时间:2012-01-17 14:55:38

标签: android sqlite parcelable

我需要在Sqlite中存储对象内容。 我想知道哪个是使用对象序列化或使用Parcelable进行此操作的最佳方式。

是否可以将其存储为Parcelable?我该怎么办?

2 个答案:

答案 0 :(得分:35)

欢迎您将对象转换为某种可持久的数据结构(XML,JSON,Serializable)并将其填充到某个数据库列中。请记住,您仍然需要处理兼容性问题(例如,应用程序的第2版更改了一个类,现在需要处理版本1和版本2结构)。还要记住,走这条路线,你会丢失很多数据库功能(例如,查询对象中的某些东西)。

如果不需要SQLite,也欢迎您尝试使用对象数据库或CouchDb,或将可持久数据结构存储到文件中。

肯定无法可靠运行的是将Parcelable倒入Parcel并尝试存储ParcelParcel仅供IPC使用,不能保留。这是Parcelable快于Serializable的原因之一。

答案 1 :(得分:3)

如果您需要保留数据,请使用SerializableParcelable用于IPC。它是二进制格式,不建议用于持久性。