Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android上存储小列表?共享引用VS SQLite VS文件_Android_Sqlite_Sharedpreferences - Fatal编程技术网

如何在Android上存储小列表?共享引用VS SQLite VS文件

如何在Android上存储小列表?共享引用VS SQLite VS文件,android,sqlite,sharedpreferences,Android,Sqlite,Sharedpreferences,我有一个生成类对象的应用程序,我们称之为X,它是可序列化的。我希望用户能够偶尔从他/她的收藏夹列表中保存或删除X的对象(该列表最多可包含100个对象) 持久存储收藏夹列表的最合适方法是什么 在SharedReferences中,将整个列表存储为JSON字符串 在SQLite数据库中:- 将每个对象的一项存储为BLOB 每个对象存储一个项目,作为JSON字符串 在自定义文件中,将整个列表存储为JSON字符串 还有别的办法吗 我的想法是: 因为添加和删除收藏夹是偶然的,而且列表很小,所以在搜索大

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

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

  • 在SharedReferences中,将整个列表存储为JSON字符串
  • 在SQLite数据库中:-
  • 将每个对象的一项存储为BLOB
  • 每个对象存储一个项目,作为JSON字符串
  • 在自定义文件中,将整个列表存储为JSON字符串
  • 还有别的办法吗
  • 我的想法是:
    • 因为添加和删除收藏夹是偶然的,而且列表很小,所以在搜索大量数据中的字段时,我可能不需要DB的优势。因此,我倾向于维护本地ArrayList,从中添加和删除项目,并将其保存到SharedReferences(选项1)

    • 将包含整个列表的键值对保存为JSON字符串似乎有点奇怪,我担心我可能没有意识到某种限制

      • 我可以存储在SharedPreferences中的字符串大小是否有限制
      • 从本地ArrayList添加或删除对象,然后保存整个列表,这是否太麻烦了

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