Angenommen, ich habe eine einfache Klasse, und sobald sie als Objekt instanziiert ist, möchte ich in der Lage sein, ihren Inhalt in eine Datei zu serialisieren und sie abzurufen, indem ich diese Datei zu einem späteren Zeitpunkt lade. Ich bin mir nicht sicher, wo ich hier anfangen soll. Was muss ich tun, um dieses Objekt in eine Datei zu serialisieren?
public class SimpleClass {
public string name;
public int id;
public void save() {
/* wtf do I do here? */
}
public static SimpleClass load(String file) {
/* what about here? */
}
}
Dies ist wahrscheinlich die einfachste Frage der Welt, da dies in .NET eine wirklich einfache Aufgabe ist, aber in Android bin ich ziemlich neu und daher völlig verloren.
android
serialization
file-io
Ben Lesh
quelle
quelle
Ich habe diese 2 Optionen (Lesen / Schreiben) mit einfachen Objekten, Array von Objekten (150 Objekte), Map ausprobiert:
Option 1:
Option 2:
Option 2 ist zweimal schneller als Option 1
Die Unannehmlichkeit von Option 2 besteht darin, dass Sie einen bestimmten Code zum Lesen erstellen müssen:
quelle
Ich habe gerade eine Klasse erstellt, um dies mit Generics zu handhaben, damit sie mit allen Objekttypen verwendet werden kann, die serialisierbar sind:
quelle
Vollständiger Code mit Fehlerbehandlung und hinzugefügtem Dateistream wird geschlossen. Fügen Sie es Ihrer Klasse hinzu, die Sie serialisieren und deserialisieren möchten. In meinem Fall ist der Klassenname
CreateResumeForm
. Sie sollten es in Ihren eigenen Klassennamen ändern.Android
Die SchnittstelleSerializable
reicht nicht aus, um Ihre Objekte in der Datei zu speichern, sondern erstellt nur Streams.Verwenden Sie es so in Ihrem
Activity
:quelle
Ich benutze SharePrefrences:
quelle
Sie müssen Ihrem Programm eine ObjectSerialization-Klasse hinzufügen. Folgendes kann funktionieren
}}
Wenn Sie ein Array mit SharedPreferences speichern, verwenden Sie Folgendes: -
So serialisieren Sie: -
Deserialisieren: -
quelle