我是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,但我不知道如何在预先保存的哈希图中添加项目。
答案 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 );