Je suis en train de la solution dans la réponse haut ici: Android ArrayList of custom objects - Save to SharedPreferences - Serializable?Impossible d'enregistrer SharedPreferences en utilisant Gson sur ArrayList d'objets personnalisés
Je suis en train de sauver à SharedPreferences un ArrayList d'objets personnalisés.
SharedPreferences appSharedPrefs = PreferenceManager.getDefaultSharedPreferences(baseApplication);
SharedPreferences.Editor prefsEditor = appSharedPrefs.edit();
Gson gson = new Gson();
String json = gson.toJson(masterPinList);
prefsEditor.putString("masterPinList", json);
prefsEditor.apply();
masterPinList
est un ArrayList d'objets personnalisés (Pin
).
L'erreur est:
java.lang.SecurityException: Can not make a java.lang.reflect.Method constructor accessible
L'erreur se produit sur cette ligne:
String json = gson.toJson(masterPinList);
Qu'est-ce qui ne va pas?
Afficher le code pour 'Pin' – weston
Pin a des références à l'application et d'autres objets personnalisés. Basé sur la réponse ci-dessous, et après avoir testé avec un autre objet personnalisé, j'ai trouvé qu'il serait plus facile de faire un objet Pin sans références à des contextes ou d'autres objets personnalisés dans l'application. – user1755043