0

Es gibt ein Beispiel in NetworkBoundResource, aber wenn ich es ausprobiert, wenn Datenbank ein Ergebnis zurückgibt, wird es nicht mehr aus dem Netzwerk abrufen. Ich möchte Daten aus der Datenbank anzeigen und das Netzwerk gleichzeitig auslösen und schließlich Daten in der Datenbank ersetzen, nachdem das Netzwerk abgeschlossen ist. Beispielcodes werden sehr geschätzt.Android Architecture Components Wie kombiniert man LiveData aus Datenbank und Netzwerk?

+0

mit Raumdatenbank –

+0

Eine einfache und nette Lösung mit diesem Repo gefunden: https://github.com/BakhtarSobat/GitHubList –

Antwort

0

Ich würde Raumdatenbank verwenden, um Ihre Artikel in einer Tabelle zu speichern. Dann verwenden Sie Paging-Liste, um zu dieser Tabelle zu beobachten. Wenn Sie das erste Mal an dieser Tabelle beobachten, führen Sie auch eine Netzwerkanforderung aus. Wenn Sie die Antwort erhalten, löschen Sie alle Elemente aus der Tabelle und fügen Sie die neuen ein (alles in einer Repository-Klasse und in einem Hintergrund-Thread). Dieser letzte Schritt aktualisiert Ihre Paging-Liste automatisch, wenn Ihre Paging-Liste diese Zimmertabelle beobachtet.

+0

klingt wie ein guter Vorschlag! –

Verwandte Themen