如何在安卓上存储一个小列表?SharedPreferences VS SQLite VS file.



我有一个应用程序,可以生成类的对象,我们称之为X,它是可序列化的。我希望用户能够偶尔从他/她的收藏夹列表中保存或删除 X 的对象(最多可以包含 100 个对象的列表)。

持久存储收藏夹列表的最合适方法是什么?

  1. 在共享首选项中,将整个列表存储为 JSON 字符串
  2. 在SQLite数据库中:-
    1. 为每个对象存储一个项目,作为 BLOB 的
    2. 将每个对象存储一个项目,作为 JSON 字符串
  3. 在自定义文件中,将整个列表存储为 JSON 字符串
  4. 其他方式?

我的想法是:

  • 由于偶尔会添加和删除收藏夹,并且列表很小,因此在搜索大量数据中的字段时,我可能不需要数据库的优势。所以我倾向于维护一个本地的 ArrayList,从中添加和删除项目,并将其保存到 SharedPreferences(选项 1)。

  • 将包含整个列表的键值对保存为 JSON 字符串似乎很奇怪,恐怕我可能不知道某种限制。

    • 我可以存储在共享首选项中的字符串的大小是否有限制?
    • 在本地 ArrayList 中添加或删除对象,然后保存整个列表是否问题太大?

我同意您的第一种方法,因为它易于管理并且需要很小的存储空间。

最新更新