Android: Lokale Daten und Offline-Caches per Room-DB in SQLite speichern

Android-Apps dĂĽrfen Daten in einer lokalen SQLite-Datenbank speichern, beispielsweise als Offline-Cache. Androids Room-DB vereinfacht die Zugriffe darauf stark.

Artikel verschenken
vorlesen Druckansicht
Android: Lokale Daten und Offline-Caches per Room-DB in SQLite speichern

(Bild: Rudolf A. Blaha)

Lesezeit: 9 Min.
Inhaltsverzeichnis

Kalorien zählen macht richtig Arbeit! Umso wichtiger ist da eine App, die so schnell und einfach wie möglich nach Lebensmitteln sucht und verzögerungsfrei das Protokoll speichert. Eine solche App sollte sowohl häufig gebrauchte Suchanfragen direkt aus einem lokalen Cache beantworten, als auch protokollierte Nahrung ohne Wartezeit lokal speichern.

Das in Kotlin programmierte Beispiel (den Code finden Sie auf GitHub) zeigt, wofĂĽr Apps typischerweise die lokale SQLite-Datenbank benutzen, die Android jeder App bereitstellt: schnelles Speichern und Laden ohne Netzwerk. Statt direkter Zugriffe auf SQLite empfiehlt Google die "Room"-Datenbank, eine ins Android-Betriebssystem integrierte Bibliothek, die den Zugriff auf SQLite erleichtert. Mit Kotlin programmiert man den lokalen Datenspeicher Room mit erstaunlich wenigen Zeilen Code.

Room-DB ist eine Sammlung von Factory-Methoden, die nur die Implementierung weniger Interfaces abverlangt. Mit denen baut die Room-DB über die Factory-Methoden fertige Objekte. Die Interfaces ergänzen annotierte Objekte, die dank Kotlins dataclass ebenfalls nur sehr wenige Zeilen Code belegen. Room erkennt an den Variablen (Propertys) der Daten-Objekte, welche Spalten die Tabellen in SQLite brauchen, sodass Entwickler im Endeffekt nur noch ein paar Querys per Hand schreiben.

Das war die Leseprobe unseres heise-Plus-Artikels "Android: Lokale Daten und Offline-Caches per Room-DB in SQLite speichern". Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.