java - Android:如何在 sharedpreferences 中存储和检索 Hashmap 数据?

标签 java android hashmap sharedpreferences

我想在内部存储中存储一些数据,例如键值对。 所以我正在使用 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/

相关文章:

java - 拖放和调整元素大小

android - 如何以编程方式强制 RadioGroup 一次只选择一个单选按钮?

Java ArrayList - 查找项目 - 我需要哈希吗?

Java - 从 JMenuItem 设置 JFrame 不透明度

java - 如何在 Java 环境中解码 H.264 视频帧

java - 泛型编译错误

android - 如何在没有互联网访问的情况下创建跨平台多人游戏

java - 自定义 HashMap-Key (Java) 极大地降低性能

hashmap - 在两个 HashMap 之间交换值

java - Android 库无法读取 openRawResource 提供的流