Persistence

aus Chat GPT:

Fähigkeit, Daten über einen längeren Zeitraum zu speichern und wiederherzustellen. Es geht darum, Daten so zu persistieren, dass sie zwischen den verschiedenen Laufzeiten der Anwendung erhalten bleiben. Das bedeutet, dass Daten auch nach dem Schließen der App oder dem Neustart des Geräts weiterhin verfügbar sind.

Es gibt verschiedene Arten von Persistenz in Dart und Flutter:

  1. Lokale Persistenz:
    • SharedPreferences: Eine einfache Möglichkeit, Schlüssel-Wert-Paare lokal zu speichern, die für kleine Mengen von Daten wie App-Einstellungen geeignet ist.
    • sqflite: Eine SQLite-Datenbank für Flutter, die eine relationale lokale Datenbank ermöglicht, ideal für größere Mengen strukturierter Daten.
    • Hive: Eine leichtgewichtige NoSQL-Datenbank, die für Flutter optimiert ist und sowohl lokale als auch plattformübergreifende Persistenz bietet.
  2. Cloud-Persistenz:
    • Firebase (Cloud Firestore, Realtime Database): Firebase bietet eine Cloud-basierte Lösung für die Persistenz von Daten. Cloud Firestore ist eine NoSQL-Datenbank, während die Realtime Database eine JSON-Datenbank ist. Beide ermöglichen die Synchronisation von Daten über verschiedene Plattformen hinweg.
  3. Dateisystem-Persistenz:
    • Arbeiten mit Dateien: Flutter ermöglicht den Zugriff auf das lokale Dateisystem des Geräts, wodurch Daten in Dateien gespeichert und gelesen werden können.
  4. HTTP-Persistenz:
    • Dio: Dio ist eine HTTP-Client-Bibliothek für Dart und Flutter. Durch die Kommunikation mit einem Server können Daten über das Netzwerk persistiert werden.
  5. Zustandspersistenz:
    • Provider + SharedPreferences/Hive: Der Zustand einer Flutter-App kann mithilfe von State-Management-Lösungen wie Provider und der Kombination mit SharedPreferences oder Hive persistiert werden.

Der Einsatz von Persistenz ist entscheidend, um Daten zwischen den verschiedenen Zuständen einer Flutter-App zu übertragen und sicherzustellen, dass wichtige Informationen nicht verloren gehen, wenn die App geschlossen oder das Gerät neu gestartet wird. Je nach den spezifischen Anforderungen deiner Anwendung kannst du die am besten geeignete Persistenzmethode auswählen.