如何在Android上存储小清单? SharedPreferences VS SQLite VS文件

时间:2018-04-21 22:17:14

标签: android sqlite sharedpreferences

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

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

  1. 在SharedPreferences中,将整个列表存储为JSON字符串
  2. 在SQLite数据库中: -
    1. 每个对象存储一个项目,如BLOB'
    2. 每个对象存储一个项目,如JSON Strings
  3. 在自定义文件中,将整个列表存储为JSON字符串
  4. 其他一些方式?
  5. 我的想法是:

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

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

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

1 个答案:

答案 0 :(得分:0)

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