Возможно ли сериализовать и де-сериализовать объект PublisherInterstitialAd объявлений Google DFP, чтобы сохранить и получить объект в SharedPreferences?Сериализация и де-сериализация объекта PublisherInterstitialAd
Когда я попытался использовать библиотеку Gson, я получил StackOverflowError. Пожалуйста, подскажите, как это можно сделать, и где я буду ошибаться в своем нынешнем подходе.
спасибо.
Это методы, используемые для сохранения и извлечения объекта Ad в SharedPreferences, где publisherInterstitialAd является объектом, о котором идет речь.
public void saveInterstitialAd(PublisherInterstitialAd publisherInterstitialAd) {
Gson gson = new Gson();
String json = gson.toJson(publisherInterstitialAd);
mEditor.putString("InterstitialAd", json);
mEditor.commit();
}
public PublisherInterstitialAd getInterstitialAd(){
Gson gson = new Gson();
String json = mSharedPrefs.getString("InterstitialAd", "");
if(json.equals(""))
return null;
return gson.fromJson(json, PublisherInterstitialAd.class);
}
и это трассировка стека подвожу:
UncaughtException java.lang.StackOverflowError в java.lang.Class.isArray (Class.java:1118) в com.google.gson . $ Gson $ Types.canonicalize ($ Gson $ Types.java: 96) at com.google.gson.internal. $ Gson $ Типы $ WildcardTypeImpl. ($ Gson $ Types.java: 551) at com. google.gson.internal. $ Gson $ Types.canonicalize ($ Gson $ Types.java: 109) a ($ Gson $ Types.java: 544) at com.google.gson.internal. $ Gson $ Types.canonicalize ($ Gson $ Types.java: $ gson $ Types.java: $ Gson $ Типы.java: 109) at com.google.gson.internal. $ Gson $ Types $ WildcardTypeImpl. ($ Gson $ Types.java: 551) at com.google.gson.internal. $ Gson $ Types.canonicalize ($ Gson $ Types .java: 109) at com.google.gson.internal. $ Gson $ Типы $ WildcardTypeImpl. ($ Gson $ Types.java: 544) at com.google.gson.internal. $ Gson $ Types.canonicalize ($ Gson $ Types.java: 109) at com.google.gson.internal. $ Gson $ Types $ WildcardTypeImpl. ($ Gson $ Types.java: 551) at com.google.gson.internal. $ Gson $ Types. canonicalize ($ Gson $ Types.java: 109) в com.google.gson.internal. $ Gson $ Types $ WildcardTypeImpl. ($ Gson $ Types.java: 544) at com.google.gson.internal. $ Gson $ Types.canonicalize ($ Gson $ Types.java: 109) at com.google.gson.internal. $ Gson $ Types $ WildcardTypeImpl. ($ Gson $ Types.java: 551) at com.google.gson.internal. $ Gson $ Types.canonicalize ($ Gson $ Types .java: 109) at com.google.gson.internal. $ Gson $ Типы $ WildcardTypeImpl. ($ Gson $ Types.java: 544) at com.google.gson.internal. $ Gson $ Types.canonicalize ($ Gson $ Types.java: 109) at com.google.gson.internal. $ Gson $ Types $ WildcardTypeImpl. ($ Gson $ Types.java: 551) at com.google.gson.internal. $ Gson $ Types. canonicalize ($ Gson $ Types.java: 109) at com.google.gson.internal. $ Gson $ Types $ WildcardTypeImpl. ($ Gson $ Types.java: 544) at com.google.gson.internal. $ Gson $ Types.canonicalize ($ Gson $ Types.java : 109) at com.google.gson.internal. $ Gson $ Типы $ WildcardTypeImpl. ($ Gson $ Types.java: 551) at com.google.gson.internal. $ Gson $ Types.canonicalize ($ Gson $ Type.java:109) at com.google.gson.internal. $ Gson $ Типы $ WildcardTypeImpl. ($ Gson $ Types.java: 544) at com.google.gson.internal. $ Gson $ Types.canonicalize ($ Gson $ Types.java: 109) at com.google.gson.internal. $ Gson $ Типы $ WildcardTypeImpl. ($ Gson $ Types.java: 551) at com.google.gson.internal. $ Gson $ Типы .canonicalize (типы $ Gson $.Java:.. 109) в com.google.gson.internal Gson Типы $ $ $ WildcardTypeImpl ($ Gson $ Types.java: 544) в com.google.gson.internal $ Gson $ Types.canonicalize ($ Gson. $ Types.java: 109) в com.google.gson.internal Gson Типы $ $ $ WildcardTypeImpl ($ Gson $ Types.java:.. 551) в com.google.gson.internal $ Gson $ Types.canonicalize. ($ Gson $ Types.java: 109).. в com.google.gson.internal Типы Gson $ $ $ WildcardTypeImpl ($ Gson $ Types.java: 544). на com.google.gson.internal Gson $ $ Types.canonicalize ($ Gson $ Types.java: 109) в com.google.gson.internal Gson $ $ $ WildcardTypeImpl Типы ($ Gson $ Types.java: 551).. в com.google.gson.internal. $ Gson $ Types.canon icalize ($ Gson $ Types.java: 109) в com.google.gson.internal Gson Типы $ $ $ WildcardTypeImpl ($ Gson $ Types.java: 544).. в com.google.gson.internal $ Gson. $ Types.canonicalize ($ Gson $ Types.java: 109).. в com.google.gson.internal Gson Типы $ $ $ WildcardTypeImpl ($ Gson $ Types.java: 551) в com.google.gson.internal . $ Gson $ Types.canonicalize ($ Gson $ Types.java: 109).. в com.google.gson.internal Gson $ $ $ WildcardTypeImpl Типы ($ Gson $ Types.java: 544) на com.google. . gson.internal $ Gson $ Types.canonicalize ($ Gson $ Types.java: 109) в com.google.gson.internal Gson $ $ $ WildcardTypeImpl Типы ($ Gson $ Types.java: 551).. в ком .google.gson.intern . Аль $ Gson $ Types.canonicalize ($ Gson $ Types.java: 109).. в com.google.gson.internal Gson Типы $ $ $ WildcardTypeImpl ($ Gson $ Types.java: 544) в com.google .gson.internal $ Gson $ Types.canonicalize ($ Gson $ Types.java: 109)... в com.google.gson.internal Gson Типы $ $ $ WildcardTypeImpl ($ Gson $ Types.java: 551) в . com.google.gson.internal $ Gson $ Types.canonicalize ($ Gson $ Types.java: 109).. в com.google.gson.internal Типы Gson $ $ $ WildcardTypeImpl ($ Gson $ Types.java: 544) на com.google.gson.internal. $ Gson $ Types.canonical
Если вы пытались что-то по этому поводу, как вы говорите, пожалуйста, поделитесь кодом, в том числе полного StackTrace вашей ошибки - это будет более полезной для людей, которые пытаются помочь. Как он стоит, ваш вопрос будет домогается только мнения, как никто не может увидеть, что у вас есть данные. – ishmaelMakitla