In meiner Aktivität hat der Benutzer eine Reihe von Bildern, die er auswählt, und dann möchte ich sie in den Einstellungen speichern. Dann verlässt der Benutzer die Aktivität und kommt zurück, ich möchte, dass diese Bilder noch in eine ImageView geladen werden. Ich versuche Gson zu benutzen, aber ich habe Probleme und kann nicht sehen, was ich falsch mache. Ich hoffe, dass externe Einsicht mir bei dieser offensichtlichen Antwort helfen kann.Wie zu speichern und ein Objekt von Gson in Android abrufen?
Vielen Dank.
Hier ist mein Code so weit.
private void savePreferencesForImages(String key, ArrayList<Image> imageList)
{
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = sharedPreferences.edit();
Gson gson = new Gson();
String json = gson.toJson(imageList);
editor.putString(key,json);
editor.commit();
}
//Storing Local data.
private void loadPreferences()
{
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
Gson gson = new Gson();
String gsonString = sharedPreferences.getString("userImages", "");
ArrayList<Image> images = gson.fromJson(gsonString, Image.class);//Ask StackOverflow tomorrow.
}
'Image.class' kann nicht in' ArrayList geladen werden 'ist das dein Problem? –
@ cricket_007 gut hat mir drei Vorschläge gegeben. Ich habe eine Fehlermeldung, die auf dieser Zeile erscheint. Aber, ich bin nicht sicher, welche Zeile wird sicherstellen, dass ich eine ArrayList namens Bilder, die mit den Bildern des Benutzers gefüllt ist. entweder: 1) Variable 'Bilder' Typ in die Bildbibliothek ändern. 2) migrieren 'Bilder' Typ zu Bild-Bibliothek 3) Make 'fromJson' zurück java.util.ArrayList – TheQ
@ cricket_007 Ich glaube nicht, es ist eine doppelte Antwort. Das bedeutet, dass ein Json-Objekt in ArrayList konvertiert wird. – TheQ