WEBVTT

00:00.050 --> 00:01.990
Hallo, meine Freunde, und willkommen zurück.

00:02.000 --> 00:04.610
In diesem Video erfahren wir mehr über das Repository.

00:04.610 --> 00:07.430
Es ist uns gelungen, unsere Raumdatenbank zu erstellen.

00:07.430 --> 00:10.580
Der nächste Schritt ist die Erstellung des Repositorys.

00:10.610 --> 00:19.010
Ein Repository in der Mvvm-Architektur ist eine Zwischenschicht zwischen dem ViewModel und den Datenquellen, z. B. einer

00:19.010 --> 00:22.160
Datenbank oder einem Netzwerkdienst.

00:22.190 --> 00:31.010
Es abstrahiert die Details des Datenabrufs und bietet eine saubere API, mit der das ViewModel interagieren kann.

00:31.010 --> 00:35.660
Es wird hauptsächlich für die Verwaltung mehrerer Datenbestände verwendet.

00:35.660 --> 00:44.060
Das Repository kann Daten aus verschiedenen Datenquellen, verschiedenen Rest-APIs oder aus dem Cache lokaler Datenbanken sammeln

00:44.060 --> 00:48.650
und diese Daten dem Rest der Anwendung zur Verfügung stellen.

00:48.650 --> 00:55.070
Dies ist die Funktion des Repositorys und der Hauptzweck der Erstellung des Repositorys, um Daten aus

00:55.070 --> 01:04.290
verschiedenen Datenquellen, Rest-APIs, lokalem Cache-Datenbankspeicher zu sammeln und diese Daten für den Rest der App bereitzustellen.

01:04.290 --> 01:11.760
Wenn Sie nur eine Datenquelle haben, wie in unserer Anwendung, die Raumdatenbank, brauchen Sie kein Repository

01:11.760 --> 01:21.870
zu erstellen, aber um die Verwendung und die Hauptrolle des Repositorys zu demonstrieren, werde ich es in unserer Anwendung verwenden.

01:21.870 --> 01:29.160
Ich erstelle eine neue Java-Klasse und nenne sie mein Repository oder Repository.

01:29.190 --> 01:37.110
Wir suchen nach den verfügbaren Datenquellen und in unserer Anwendung haben wir nur die Raumdatenbank,

01:37.110 --> 01:39.030
die Offline-Datenbank.

01:39.030 --> 01:49.140
Also für das werde ich private endgültige Kontakt Dao erstellen und ich werde verwenden und ich nenne es als Kontakt Dao Objekt.

01:49.140 --> 01:54.720
Wenn Sie also mit Raumdatenbanken zu tun haben, müssen Sie mit dem Kontakt-Dao im Repository arbeiten.

01:54.720 --> 01:57.180
Alt+Enter, um den Konstruktor zu erstellen.

01:57.180 --> 02:02.040
Mit diesem Kontakt dao als Parameter und Initialisierung.

02:02.040 --> 02:04.650
Okay, das ist also unser Repository.

02:04.650 --> 02:05.190
Jetzt.

02:05.190 --> 02:10.980
Dieses Repository kapselt die Logik des Datenzugriffs und -abrufs.

02:11.010 --> 02:19.320
Es erhält in seinem Konstruktor ein Kontakt-Dao-Objekt, das den Zugriff auf die lokale Datenbank ermöglicht, vorausgesetzt,

02:19.320 --> 02:21.240
Sie verwenden einen Raum.

02:21.240 --> 02:28.800
Und das ist, was wir getan haben, und jede Methode in der Dao erstellt, sollten Sie es hier in das Repository zu

02:28.800 --> 02:29.640
erwähnen.

02:29.640 --> 02:38.010
Ich habe also drei Methoden zum Einfügen, Löschen und Abrufen aller Kontakte, die ich für die Verwendung dieser Methoden aus dem Repository

02:38.010 --> 02:38.910
benötige.

02:38.910 --> 02:39.690
Dafür.

02:39.690 --> 02:41.640
Ich werde mit der ersten Methode beginnen.

02:41.640 --> 02:43.140
Kontakt hinzufügen.

02:43.140 --> 02:52.410
Es empfängt ein Kontaktobjekt und ich muss diese Methode insert in der Dao aufrufen.

02:52.410 --> 02:58.290
Ich werde also dieses Kontakt-Dao-Objekt dot insert verwenden.

02:58.290 --> 03:04.530
Und hier muss ich diesen Parameter als Parameter innerhalb dieser Insert-Methode übergeben.

03:04.530 --> 03:10.080
Es geht nur um die Verwaltung aller Methoden in den verschiedenen Datenquellen.

03:10.080 --> 03:15.810
Auch hier gilt: Wenn Sie nur eine Datenquelle haben, brauchen Sie das Repository nicht zu verwenden.

03:15.840 --> 03:27.150
Publicvoid delete contact empfängt ein Kontaktobjekt und führt die contact Dao dot delete Methode aus und übergibt den Kontakt

03:27.150 --> 03:31.410
als Argument für diese delete Methode.

03:31.440 --> 03:38.670
Der letzte Schritt ist die Abfrage aller Kontakte, deren Rückgabetyp eine Liste von Kontakten ist.

03:38.670 --> 03:45.900
Dazu muss ich hier ein öffentliches Objekt mit einer Liste von Kontakten erstellen.

03:45.900 --> 03:56.070
Holen Sie sich alle Kontakte und ich brauche, um den Kontakt Dao Punkt rufen Sie alle Kontakte Alt + eingeben, um die Klasse der Liste zu importieren

03:56.070 --> 04:00.270
und hier muss ich die Return-Anweisung verwenden.

04:00.270 --> 04:07.260
Diese drei Methoden sind im Repository aufgeführt, die dem Dao ähnlich sind.

04:07.290 --> 04:14.340
Wenn Sie eine Datenquelle haben, müssen Sie alle Methoden hier im Repository angeben.
