use*_*950 13 java android hashmap sharedpreferences
我想将hashmap存储到我的android应用程序中,当重新启动时,它会显示最后保存的hashmap值.
HashMap<Integer,String> HtKpi=new HashMap<Integer,String>();
Run Code Online (Sandbox Code Playgroud)
是我的hashmap,44个值动态存储在其中.这工作正常!现在,我想将其存储以备将来使用(应用程序重启或重用).
kga*_*ron 23
您可以将其序列化为json并将结果字符串存储在首选项中.然后,当应用程序重新启动时,从首选项中获取字符串并对其进行反序列化.
编辑:
为此,您可以使用Google Gson.
您需要将地图包装在一个类中:
public class MapWrapper {
private HashMap<Integer, String> myMap;
// getter and setter for 'myMap'
}
Run Code Online (Sandbox Code Playgroud)
存储地图:
Gson gson = new Gson();
MapWrapper wrapper = new MapWrapper();
wrapper.setMyMap(HtKpi);
String serializedMap = gson.toJson(wrapper);
// add 'serializedMap' to preferences
Run Code Online (Sandbox Code Playgroud)
要检索地图:
String wrapperStr = preferences.getString(yourKey);
MapWrapper wrapper = gson.fromJson(wrapperStr, MapWrapper.class);
HashMap<Integer, String> HtKpi = wrapper.getMyMap();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18312 次 |
| 最近记录: |