如何在Android的SharedPreferences中保存/存储对象? [英] How do you save/store objects in SharedPreferences on Android?
本文介绍了如何在Android的SharedPreferences中保存/存储对象?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要在许多地方获取用户对象,其中包含许多字段.登录后,我想保存/存储这些用户对象.我们如何实现这种情况?
I need to get user objects in many places, which contain many fields. After login, I want to save/store these user objects. How can we implement this kind of scenario?
我不能这样存储它:
SharedPreferences.Editor prefsEditor = myPrefs.edit();
prefsEditor.putString("BusinessUnit", strBusinessUnit);
推荐答案
您可以使用gson.jar将类对象存储到 SharedPreferences 中. 您可以从 google-gson
You can use gson.jar to store class objects into SharedPreferences. You can download this jar from google-gson
或在您的Gradle文件中添加GSON依赖项:
Or add the GSON dependency in your Gradle file:
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);
这篇关于如何在Android的SharedPreferences中保存/存储对象?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文