小编典典

如何在 Android 上的 SharedPreferences 中保存/存储对象?

all

我需要在很多地方获取用户对象,其中包含许多字段。登录后,我想保存/存储这些用户对象。我们如何实现这种场景?

我不能这样存储它:

SharedPreferences.Editor prefsEditor = myPrefs.edit();
prefsEditor.putString("BusinessUnit", strBusinessUnit);

阅读 95

收藏
2022-05-06

共1个答案

小编典典

您可以使用 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);
2022-05-06