如何在HashMap中添加元素并将其保存? [Android]

时间:2020-07-12 16:50:10

标签: android hashmap sharedpreferences

我是HashMap的新手,重新打开应用程序时如何永久保存并添加其他项目?

例如:

 private HashMap<String, Recognition> registered = new HashMap<>();
  public void register(String name, Recognition rec) {
  registered.put(name, rec);

}

我可以看到所有使用以下命令注册的物品:

for (Map.Entry<String, Recognition> entry : registered.entrySet()) {
    final String name = entry.getKey();
    ... }

但是当我关闭并重新打开应用程序时,看不到已注册的所有内部对象。 我看到很多人使用SharedPreferences,但我不知道如何在预先保存的哈希图中添加项目。

1 个答案:

答案 0 :(得分:1)

您可以通过这种方式间接地做到这一点:

//writing into file
SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString( key, hashmap.getValue() );
editor.commit();

//reading from file
SharedPreferences pref = getPreferences(Context.MODE_PRIVATE);
for( i = 0;i < size;i++) )
   pref.getString( i , defaultValue );