Android SharedPreferences如何保存/存储对象我们需要在许多地方获取用户对象,其中包含许多字段。登录后,我想保存/存储这些用户对象。我们如何实现这种场景?我不能这样储存:SharedPreferences.Editor prefsEditor = myPrefs.edit();
prefsEditor.putString("BusinessUnit", strBusinessUnit);
3 回答
慕无忌1623718
TA贡献1744条经验 获得超4个赞
implementation 'com.google.code.gson:gson:2.8.5'
SharedPreferences mPrefs = getPreferences(MODE_PRIVATE);
MyObject myObject = new MyObject;//set variables of 'myObject', etc.Editor prefsEditor = mPrefs.edit(); Gson gson = new Gson();String json = gson.toJson(myObject);prefsEditor.putString("MyObject", json);prefsEditor.commit();
Gson gson = new Gson();String json = mPrefs.getString("MyObject", "");MyObject obj = gson.fromJson(json, MyObject.class);
白衣非少年
TA贡献1155条经验 获得超0个赞
将用户定义对象的列表保存到SharedPreferences
public static final String KEY_CONNECTIONS = "KEY_CONNECTIONS";SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit(); User entity = new User();// ... set entity fieldsList<Connection> connections = entity.getConnections(); // convert java object to JSON format, // and returned as JSON formatted stringString connectionsJSONString = new Gson().toJson(connections); editor.putString(KEY_CONNECTIONS, connectionsJSONString);editor.commit();
从SharedPreferences获取用户定义对象的列表
String connectionsJSONString = getPreferences(MODE_PRIVATE).getString(KEY_CONNECTIONS, null); Type type = new TypeToken < List < Connection >> () {}.getType(); List < Connection > connections = new Gson().fromJson(connectionsJSONString, type);
- 3 回答
- 0 关注
- 340 浏览
添加回答
举报
0/150
提交
取消