我想在内部存储中存储一些数据,例如键值对。 所以我正在使用 HashMap 来存储键值对。但是我没有足够的解决方案来将此 HashMap 存储和检索到 sharedpreferences 中。 请给我一些解决方案。
我把我的代码放在下面:
HashMap<String, String> MapListMesasges = new HashMap<String, String>();
MapListMesasges.put(FromName, message.getBody());
preferences = mActivity.getSharedPreferences(
SharePreference_messages_history_name,
Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
for (Entry<String, String> entry : MapListMesasges
.entrySet()) {
editor.putString(entry.getKey(), entry.getValue());
}
editor.commit();
并从 Sharedprefernces 中检索数据:
preferences = mActivity.getSharedPreferences(
SharePreference_messages_history_name, Context.MODE_PRIVATE);
for (Entry<String, ?> entry : preferences.getAll().entrySet()) {
MapListMesasges.put(entry.getKey(), entry.getValue().toString());
}
我还会将 hashmap 存储在适配器中并设置到 ListView 中。 我的主要目的是将数据存储和检索到共享首选项中,并将数据显示到 ListView 中。
提前致谢。
最佳答案
在 Preferences 中存储 HashMap 最简单的方法就是将其转换为字符串并存储它。
在另一端获取该字符串并在 HashMap 中转换它并享受。
将 String 转换为 HashMap 及反之检查 this链接。
关于java - Android:如何在 sharedpreferences 中存储和检索 Hashmap 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18123812/