【发布时间】:2012-09-14 03:21:28
【问题描述】:
我需要在 Sqlite 中存储一个对象内容。 我想知道使用对象序列化还是使用 Parcelable 是最好的方法。
是否可以将其存储为 Parcelable?我该怎么做?
【问题讨论】:
-
你真的需要将数据保存在sqlite中,保存在文件夹中不是更好吗?
标签: android sqlite parcelable
我需要在 Sqlite 中存储一个对象内容。 我想知道使用对象序列化还是使用 Parcelable 是最好的方法。
是否可以将其存储为 Parcelable?我该怎么做?
【问题讨论】:
标签: android sqlite parcelable
欢迎您将对象转换为某种可持久化的数据结构(XML、JSON、Serializable)并将其填充到某个数据库列中。请记住,您仍然需要处理兼容性问题(例如,您的应用程序的版本 2 更改了一个类,现在需要处理版本 1 和版本 2 的结构)。还要记住,走这条路,您会失去很多数据库功能(例如,查询对象中的某些内容)。
如果不需要 SQLite,也欢迎您尝试对象数据库或 CouchDb,或将可持久数据结构存储到文件中。
最肯定不能可靠工作的是将Parcelable倒入Parcel并尝试存储Parcel。 Parcel 仅供 IPC 使用,并非旨在持久保存。这也是Parcelable 比Serializable 快的原因之一。
【讨论】:
如果您需要持久化数据,请使用Serializable。 Parcelable 用于 IPC。它是一种二进制格式,不推荐用于持久化。
【讨论】: