在 Android 中,我们可以将一个类的对象存储在共享偏好中,然后再检索该对象吗?
如果有可能怎么办?如果不可能,还有其他可能性吗?
我知道序列化是一种选择,但我正在寻找使用共享偏好的可能性。
最佳答案
是的,我们可以使用 Gson
从 GitHub 下载工作代码
SharedPreferences mPrefs = getPreferences(MODE_PRIVATE);
为了保存
Editor prefsEditor = mPrefs.edit();
Gson gson = new Gson();
String json = gson.toJson(myObject); // myObject - instance of MyObject
prefsEditor.putString("MyObject", json);
prefsEditor.commit();
为了得到
Gson gson = new Gson();
String json = mPrefs.getString("MyObject", "");
MyObject obj = gson.fromJson(json, MyObject.class);
更新1
最新版本的 GSON 可以从 github.com/google/gson 下载。 .
更新2
如果您使用的是 Gradle/Android Studio,只需在 build.gradle
依赖项部分添加以下内容 -
implementation 'com.google.code.gson:gson:2.6.2'
关于android - 在共享首选项中存储和检索类对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5418160/