我需要在很多地方获取用户对象,其中包含许多字段。登录后,我想保存/存储这些用户对象。我们如何实现这种场景?
我不能这样存储它:
SharedPreferences.Editor prefsEditor = myPrefs.edit(); prefsEditor.putString("BusinessUnit", strBusinessUnit);
您可以使用 gson.jar 将类对象存储到 SharedPreferences 中。你可以从google- gson下载这个 jar
或者在 Gradle 文件中添加 GSON 依赖项:
implementation 'com.google.code.gson:gson:2.8.8'
你可以在这里找到最新版本
创建共享首选项:
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);