如何在Android的SharedPreferences中保存/存储对象? [英] How do you save/store objects in SharedPreferences on Android?

查看:413
本文介绍了如何在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆