Serialisieren Sie eine statische Klasse

  • In meiner Android-Anwendung habe ich verschiedene Aktivitäten, bei denen der Benutzer eine bestimmte Operation konfiguriert. In jedem Schritt der Konfiguration speichere ich die vom Benutzer angegebenen Parameter in einer statischen Klasse, die diesen Vorgang verwaltet. Nach der Konfiguration können alle Aktivitäten auf diese Parameter zugreifen und alles funktioniert einwandfrei.

    Außer, dass ich diese Konfiguration beibehalten möchte, muss sie in zukünftigen Ausführungen der App nicht erneut konfiguriert werden. Wie kann ich den statischen Klassenstatus wiederherstellen? Ich wollte keine Tabelle in der Datenbank erstellen, nur um dieses eine Objekt zu speichern (ich denke, es ist eine hässliche Lösung).

    Ich könnte auch alle Konfigurationen in ein SharedPreferences ausgeben, allerdings habe ich viele Parameter im Manager, und es speichert Listen von Objekten mit den Ergebnissen der Operationsausführung, und es wäre ein bisschen schmerzhaft Speichern Sie sie manuell in einer Key / Value-Lösung.

    Stattdessen dachte ich über die Serialisierung der Klasse in eine Datei nach. Beim Start der Anwendung überprüfe ich, ob die Datei vorhanden ist. Wenn sie wahr ist, wird die Deserialisierung durchgeführt wieder in meinen Manager. Ist dies ein korrekter Ansatz oder gibt es schönere Lösungen? Würden auch die Listenobjekte in dieser statischen Klasse serialisiert, oder muss ich sie einzeln serialisieren?
    Ich dachte darüber nach, etwas zu tun, wie es in diesem Beispiel gezeigt wird. Beispiel

    22 November 2011
    ffleandro
1 answer
  • Ich denke, dass das Serialisieren in eine Datei eine ausgezeichnete Idee ist. Scheint viel sauberer und einfacher als der Umgang mit Datenbanken oder Schlüssel / Wert-Paaren. Andernfalls fühlt es sich an, als würden Sie die Serialisierung serialisieren.

    Und zur Beantwortung Ihrer zweiten Frage: Im Allgemeinen werden Implementierungen von java.util.List java.io.Serializable implementieren Sie müssen sie nicht separat ausführen.

    Ich würde genau das tun, was Sie mit der Datei und in diesem Beispiel beschreiben.

    22 November 2011
    Andrew Rasmussen