La réponse acceptée est trompeuse, nous pouvons stocker un objet sérialisable dans SharedPreferences en utilisant GSON. Pour en savoir plus, consultez le site google-gson .
vous pouvez ajouter la dépendance GSON dans le fichier Gradle avec :
compile 'com.google.code.gson:gson:2.7'
Voici l'extrait :
Tout d'abord, créez vos préférences partagées habituelles :
//Creating a shared preference
SharedPreferences mPrefs = getPreferences(MODE_PRIVATE);
Sauvegarde d'un objet sérialisable vers une préférence :
Editor prefsEditor = mPrefs.edit();
Gson gson = new Gson();
String json = gson.toJson(YourSerializableObject);
prefsEditor.putString("SerializableObject", json);
prefsEditor.commit();
Obtention d'un objet sérialisable à partir de la préférence :
Gson gson = new Gson();
String json = mPrefs.getString("SerializableObject", "");
yourSerializableObject = gson.fromJson(json, YourSerializableObject.class);