我通过以下方式创建了一个 HashMap:
HashMap<Integer, String> buttons = new HashMap<Integer, String>();
我需要保持这种格式,但是我看到的这个解决方案的每个答案都只适用于HashMap<String, String>
谢谢
我通过以下方式创建了一个 HashMap:
HashMap<Integer, String> buttons = new HashMap<Integer, String>();
我需要保持这种格式,但是我看到的这个解决方案的每个答案都只适用于HashMap<String, String>
谢谢
嘿,我最终找到了一个方法:)
我刚刚更改了必须格式化的 HashMap,然后执行以下操作来保存内容:
SharedPreferences.Editor editor = getSharedPreferences(PREFS_NAME, 0).edit();
for( Entry entry : backUpCurency_values.entrySet() )
editor.putString( entry.getKey(), entry.getValue() );
editor.commit();
和以下检索HashpMap:
SharedPreferences prefs = getSharedPreferences(PREFS_NAME, 0);
for( Entry entry : prefs.getAll().entrySet() )
backUpCurency_values.put( entry.getKey(), entry.getValue().toString() );
不支持任何HashMap
in SharedPreferences
。您可以将整体SharedPreferences
视为有点像 a HashMap
,但它不是 a HashMap
,并且您不能将 a 存储HashMap
在个人偏好中。
欢迎您将您的HashMap
转换为String
可以存储在值中的SharedPreferences
值,例如将其转换为 JSON。
将其转换为 JSON(正如 CommonsWare 指出的那样)是一种选择。或者,我这样做的方式(因为我不熟悉 JSON)是使用 Apache 的 ObjectSerializer 类(在此处找到:ObjectSerializer.java)对其进行序列化。
当你想存储它时只需调用 serialize 方法,当你想将它转回 Map 时只需反序列化。