如何在SharedReferences中保存类对象引用值并在android中检索它?

如何在SharedReferences中保存类对象引用值并在android中检索它?,android,sharedpreferences,gson,Android,Sharedpreferences,Gson,现在我正在尝试将类对象值存储在SharedReferences中并检索它。我仍然引用了很多链接,我无法在其中存储对象值 下面是我的代码: SharedPreferences mPrefs = getContext().getPreferences(MODE_PRIVATE); SharedPreferences.Editor prefsEditor = mPrefs.edit(); Gson gson = new Gson(); String json = null; prefsEditor.

现在我正在尝试将类对象值存储在SharedReferences中并检索它。我仍然引用了很多链接,我无法在其中存储对象值

下面是我的代码:

SharedPreferences  mPrefs = getContext().getPreferences(MODE_PRIVATE);
SharedPreferences.Editor prefsEditor = mPrefs.edit();
Gson gson = new Gson();
String json = null;
prefsEditor.putString(json, gson.toJson(object));
prefsEditor.commit();
例外情况:

 java.lang.StackOverflowError
            at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:375)
对象需要实现可序列化,以便Gson可以将对象转换为字符串。大概是这样的:

public class User implement Serializable {

  private static final long serialVersionUID = 1234567891234567891L;

  private String name;
  private int age;

  // constructor
  public User(String name, int age) {
    this.name = name;
    this.age = age;
  }

  // setter and getter.
}
然后可以使用Gson保存对象:

User user = new User("Terminator", 50);

SharedPreferences  mPrefs = getContext().getPreferences(MODE_PRIVATE);
SharedPreferences.Editor prefsEditor = mPrefs.edit();
Gson gson = new Gson();
String json = gson.toJson(user);
prefsEditor.putString("User", json);
prefsEditor.commit();

可能问题出在字符串json=null?试试字符串json=“”@SuhailMehta你想让我放置任何方法或整个类吗?@Sergeyyamschchikov我甚至尝试了,通过放置字符串json=gson.toJson(object)而不是null,但我仍然得到Stackoverflow异常Stackoverflow当你在模型中有循环引用时会出现你是否使用其他库,如
ActiveAndroid