WEBVTT

00:00.140 --> 00:07.140
Wenn wir uns die run-Methode des runnable ansehen, können wir sehen, dass der zurückkehrende Typ void ist.

00:07.160 --> 00:10.220
Das bedeutet, dass sie nichts zurückgeben wird.

00:10.220 --> 00:13.070
Wenn wir die Methode zum Abrufen aller Kontakte verwenden.

00:13.070 --> 00:21.560
Wir können dies nicht im Hintergrund ausführen, da der Lauf zunächst nichts zurückgibt und ich eine Liste von

00:21.560 --> 00:23.930
Kontakten zurückgeben muss.

00:23.930 --> 00:32.060
Und der zweite Grund ist, dass ich die Kontakte veröffentlichen muss, um alle Kontakte zu erhalten und sie in der Benutzeroberfläche zu veröffentlichen.

00:32.090 --> 00:38.210
So wird dies im Hintergrund ausgeführt und der Kontakt hinzugefügt.

00:38.210 --> 00:43.730
Die Einfügemethode wird in einem separaten Thread und im Hintergrund ausgeführt.

00:43.730 --> 00:52.040
Aber dies muss ich ausgeführt werden und veröffentlicht die UI mit den neuen Kontakten aus der Datenbank erhalten.

00:52.040 --> 00:55.440
Deshalb werde ich die Live-Daten verwenden.

00:55.460 --> 01:03.180
Live-Daten werden häufig sowohl im Repository als auch in der Dao verwendet, um die Beobachtung von Datenbankänderungen zu erleichtern

01:03.180 --> 01:07.410
und die Benutzeroberfläche in Echtzeit zu aktualisieren.

01:07.440 --> 01:14.200
Der erste Schritt besteht darin, zum Dao zu gehen, und ich muss diese Liste aktualisieren.

01:14.220 --> 01:23.400
Ich werde diese Liste innerhalb des Live-Datenobjekts vom Typ Liste von Kontaktobjekten kapseln.

01:23.400 --> 01:25.590
Importieren Sie die Klasse der Live-Daten.

01:25.590 --> 01:32.250
Wenn Sie Methoden haben, die mit Query annotiert sind und Sie etwas mit dem Select-Operator

01:32.250 --> 01:34.170
in SQL anzeigen wollen.

01:34.200 --> 01:39.210
Verwenden Sie immer die Live-Daten, indem Sie Daten als Live-Daten zurückgeben.

01:39.240 --> 01:46.440
Die Raumbibliothek stellt sicher, dass die Daten vom Repository oder ViewModel beobachtet werden, so dass sie in Echtzeit aktualisiert

01:46.440 --> 01:49.770
werden können, wenn sich die zugrunde liegenden Daten ändern.

01:49.770 --> 01:57.930
Und wenn Sie Probleme beim Live-Datenimport aus dem Lebenszyklus haben, können Sie die Abhängigkeit dafür importieren.

01:57.930 --> 02:04.480
Durch die Verwendung dieser Live-Daten implementieren Station und die Live-oder die Ansicht Modell hier.

02:04.480 --> 02:09.010
Ich werde also diese Implementierung für das ViewModel und die Live-Daten kopieren.

02:09.010 --> 02:13.470
Im nächsten Video werden wir über ViewModel sprechen, damit ich es hier importieren kann.

02:13.480 --> 02:18.280
Neueste Versionen von Android X, Der Lebenszyklus ist enthalten.

02:18.280 --> 02:25.480
Wie Sie also sehen können, habe ich Android X dot lifecycle dot live data ohne Probleme und ohne Verwendung dieser Abhängigkeit

02:25.480 --> 02:26.530
importiert.

02:26.530 --> 02:36.310
Auch die Live-Daten und ich müssen die Lebenszyklus-Version Variable synchronisieren jetzt verwenden, so dass ich ViewModel und die Live-Daten in meiner

02:36.310 --> 02:38.290
Anwendung verwenden können.

02:38.290 --> 02:41.680
Wenn ich ein Problem habe, füge ich einfach die Abhängigkeit hinzu.

02:41.680 --> 02:50.860
Wenn wir jetzt zum Repository gehen, muss ich den Rückgabetyp dieser Methode in Live-Datenobjekt ändern.

02:50.860 --> 02:57.070
Dies ist der Typ der Live-Daten und dies ist der Typ der Liste im Repository.

02:57.070 --> 03:04.620
Live-Daten werden in der Regel verwendet, um Daten aus der Raumdatenbank an das ViewModel und schließlich an die UI-Komponenten,

03:04.620 --> 03:07.350
Aktivitäten oder Fragmente weiterzuleiten.

03:07.350 --> 03:14.910
Das Repository interagiert mit der Raumdatenbank, um Daten abzurufen, und es verpackt die Daten in ein Live-Datenobjekt,

03:14.910 --> 03:17.880
bevor es sie an das ViewModel weitergibt.

03:17.880 --> 03:25.410
Durch die Verwendung von Live-Daten stellt das Repository sicher, dass die Daten vom ViewModel beobachtet werden können und alle Änderungen

03:25.410 --> 03:33.090
an den zugrunde liegenden Daten automatisch in der Benutzeroberfläche widergespiegelt werden, ohne dass explizite Aktualisierungen erforderlich

03:33.120 --> 03:33.930
sind.

03:33.930 --> 03:38.820
Ein letzter Schritt im Repository besteht darin, diesen Parameter zu ändern.

03:38.820 --> 03:41.640
Eine Anwendung übergeben alt+ enter.

03:41.640 --> 03:52.290
Und hier muss ich die Kontextdatenbank initialisieren, so dass die Kontaktdatenbank dem Kurs oder der Kontaktdatenbank dot get instance

03:52.290 --> 03:54.090
entspricht.

03:54.090 --> 03:58.770
Und hier muss ich den Kontext übergeben, der in diesem Fall die Anwendung ist.

03:58.770 --> 04:07.020
Und dieser Kontakt Dao dieser Punkt Kontakt Dao gleich Kontakt Datenbank Punkt erhalten Kontakt Dao.

04:07.050 --> 04:13.470
So initialisieren wir die Datenbank im Repository und die Dao im Repository

04:13.470 --> 04:18.480
und führen die Methoden und die Hintergrund-Threads aus.
