Android 在 SQLite 中存储一个 Parcelable 对象

标签 android sqlite parcelable

我需要在 Sqlite 中存储一个对象内容。 我想知道使用对象的序列化或使用 Parcelable 来实现它的最佳方法是什么。

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

最佳答案

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

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

Parcelable 倒入 Parcel 并尝试存储 Parcel 是最肯定不能可靠工作的。 Parcel 仅供 IPC 使用,并非旨在持久化。这就是 ParcelableSerializable 更快的原因之一。

关于Android 在 SQLite 中存储一个 Parcelable 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8896751/

相关文章:

database - SQLite 插入速度随着索引数量的增加而变慢

如果 sqlite3 满足条件,则插入到表中

java - 我不明白为什么会发生这个 ClassCastException

android - 当我尝试从 Intent 获取额外对象时出现 RuntimeException

android - 混淆时是否需要在混淆规则中使用 'keep' Parcelable

java - 如果 Java 已经有一个 DateFormat 类,为什么 Android 有自己的 DateFormat 类?

android - 将字符串从 android 发送到 visual basic 2010

ios - 相当于 sqlite 查询的核心数据

java - 如何通过 Instagram、Whatsapp 或任何社交应用程序共享您自己的应用程序中的图像文件?

android - gradle依赖关系报告不显示jar文件