首页 > 解决方案 > 带有 Kotlin 的 Android 存储自定义类的最佳方式

问题描述

这是我第一次需要永久存储一些数据,所以我想在继续之前提出一些建议。我读过有不同的方法可以在 Android 设备上存储数据:

我不明白在第一个和最后一个之间对我来说最好的选择是什么。

我的情况

我有一个带有标题、副标题、封面图片的书籍列表,每本书都包含一个带有标题、可选图片(如果可能的话是音频)和其他内容的卡片列表。

所以,我必须存储一个自定义类的数组列表,其中包括另一个自定义类的另一个数组列表和一些文本/图像

我应该采取哪种方法?

谢谢

标签: androidkotlinandroid-databaseandroid-storage

解决方案


坦率地说,案例描述过于有限,无法提供明智的建议(因此应该关闭问题)。

但如果您有疑问,那么安全/默认选择是数据库。在某些情况下,它可能会带来很大的开销(比如将整个数组列表序列化为一个 blob 并存储为单个文件就足够了),但你不太可能把自己画到角落里。

添加(评论后)

使用数据库时,您不直接存储对象(因为 sql 数据库存储的是“关系”,您可以将其视为“行集”,而不是对象)。相反,您有一些代码(自定义或来自库)将对象转换为一行(或多行)以进行存储,还有一些代码以另一种方式转换它。

如果要存储实际对象,那么序列化到文件几乎是唯一的方法。


推荐阅读