【发布时间】:2018-04-21 22:17:13
【问题描述】:
我有一个生成类对象的应用程序,我们称它为 X,即 Serializable。我希望用户能够偶尔从他/她的收藏夹列表(最多可包含 100 个对象的列表)中保存或删除 X 的对象。
永久存储收藏夹列表的最合适方法是什么?
- 在 SharedPreferences 中,将整个列表存储为 JSON 字符串
- 在 SQLite 数据库中:-
- 每个对象存储一个项目,作为 BLOB 的
- 为每个对象存储一项,作为 JSON 字符串
- 在自定义文件中,将整个列表存储为 JSON 字符串
- 其他方式?
我的想法是:
因为添加和删除收藏夹是偶尔的,而且列表很小,所以在搜索大量数据的字段时,我可能不需要数据库的优势。所以我倾向于维护一个本地 ArrayList,从中添加和删除项目,并将其保存到 SharedPreferences(选项 1)。
-
将包含整个列表的键值对保存为 JSON 字符串似乎很奇怪,恐怕我可能没有意识到某种限制。
- 我可以存储在 SharedPreferences 中的字符串的大小是否有限制?
- 我在本地 ArrayList 中添加或删除对象然后保存整个列表是否太成问题?
【问题讨论】:
标签: android sqlite sharedpreferences