【发布时间】:2016-07-29 21:40:50
【问题描述】:
可以说,我有一个
HashMap<String, String>
字典,我想存储在我的安卓设备中。我发现我不能使用共享首选项来做到这一点,因为我只能在那里存储一个字符串集并且每次都解析它以进行存储是太多的工作。那么如何在手机存储中写入和读取字典呢?
【问题讨论】:
-
在 SharedPreferences 中存储一个 JSON 字符串?
可以说,我有一个
HashMap<String, String>
字典,我想存储在我的安卓设备中。我发现我不能使用共享首选项来做到这一点,因为我只能在那里存储一个字符串集并且每次都解析它以进行存储是太多的工作。那么如何在手机存储中写入和读取字典呢?
【问题讨论】:
Hash 太大了吗?如果没有,那么您可以将所有键值对保存在SharedPreferences 中。
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("YOUR_KEY", "your_value");
editor.commit();
【讨论】:
您确实可以为此目的使用SharedPreferences,在您的情况下,我建议您存储这种简单的数据结构。正如您在以下答案中所看到的,这并不是您提到的太多工作:
https://stackoverflow.com/a/9227098/812598
您甚至可以通过检查其中哪些键已更改而不是在每次调用 save 方法时都存储它们来优化链接的答案以避免超出您需要的 I/O。
【讨论】: