WEBVTT

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

00:02.060 --> 00:06.020
In diesem Video lernen wir zunächst die Raumdatenbank in Android kennen.

00:06.020 --> 00:12.380
Ich möchte, dass Sie sich mit mir beschäftigen, weil es ein sehr wichtiges Thema ist und viele Leute Fehler in der Raumdatenbank machen.

00:12.380 --> 00:19.010
Die SQLite-Datenbank ist eine Open-Source-Datenbank, die in Android zur Verfügung gestellt wird und zum Speichern von Daten im Gerät

00:19.010 --> 00:22.280
des Benutzers in Form einer Textdatei verwendet wird.

00:22.280 --> 00:28.700
Wir können viele Operationen mit diesen Daten durchführen, z. B. neue Daten hinzufügen, sie aktualisieren, lesen und

00:28.700 --> 00:29.270
löschen.

00:29.360 --> 00:35.630
SQLite ist eine Offline-Datenbank, die lokal auf dem Gerät des Benutzers gespeichert ist, und wir müssen keine Verbindung

00:35.630 --> 00:38.750
herstellen, um uns mit diesem Datenbankraum zu verbinden.

00:38.750 --> 00:43.640
Database room ist eine ORM-Bibliothek für objektrelationales Mapping.

00:43.640 --> 00:51.200
Mit anderen Worten, room wird unsere Datenbankobjekte auf Java-Objekte abbilden. room bietet eine Abstraktionsschicht über SQLite, um einen

00:51.200 --> 00:57.470
flüssigen Datenbankzugriff zu ermöglichen und gleichzeitig die volle Leistungsfähigkeit von SQLite zu nutzen.

00:57.470 --> 01:04.310
Eine Raumdatenbank ist also eine leistungsstarke und flexible Bibliothek, die eine Abstraktionsschicht über SQLite

01:04.340 --> 01:11.450
bietet. Ein leichtgewichtiges relationales Datenbankmanagementsystem vereinfacht Datenbankoperationen und erleichtert

01:11.450 --> 01:16.370
Entwicklern die Arbeit mit Datenbanken in ihren Android-Anwendungen.

01:16.370 --> 01:22.220
Es ist ein Teil der Android-Architekturkomponenten und veranlasst die Verwendung des Mvvm-Modells.

01:22.220 --> 01:24.620
Ansicht AnsichtModell Architekturmuster.

01:24.620 --> 01:29.420
In den nächsten Videos werden wir über dieses Muster SQLite versus Raumdatenbank sprechen.

01:29.420 --> 01:36.770
Im Falle von SQLite gibt es keine Kompilierungszeitüberprüfung der SQL-Zeilenabfragen, aber in Room gibt es eine Validierung

01:36.770 --> 01:42.740
zur Kompilierungszeit, und das ist ein sehr wichtiger und guter Punkt Für die Room-Datenbank müssen Sie

01:42.740 --> 01:49.190
viel Boilerplate-Code verwenden, um zwischen SQL-Abfragen und Java-Datenbankobjekten zu konvertieren.

01:49.190 --> 01:55.130
Aber room bildet unsere Datenbankobjekte auf Java-Objekte ab, ohne Boilerplate-Code.

01:55.130 --> 02:00.660
Wenn sich Ihr Schema ändert, müssen Sie die betroffenen SQL-Abfragen manuell aktualisieren.

02:00.660 --> 02:08.400
Room löst dieses Problem Room ist für die Arbeit mit Live-Daten und rxjava für die Datenbeobachtung konzipiert, SQL

02:08.460 --> 02:10.170
Light hingegen nicht.

02:10.200 --> 02:17.790
Raum hat drei Hauptkomponenten der Raumdatenbank, Entität, Dao und Datenbank.

02:17.790 --> 02:20.910
Lassen Sie uns über diese Komponenten im Detail sprechen.

02:20.910 --> 02:23.310
Die erste Komponente ist die Entität.

02:23.310 --> 02:31.560
Die Entität stellt eine Tabelle innerhalb der Datenbank dar und muss mit einer Entitätsannotation versehen werden.

02:31.560 --> 02:38.550
Jede Entität besteht aus mindestens einem Feld, das einen Primärschlüssel definieren muss.

02:38.580 --> 02:43.530
Die zweite Komponente ist das Dao-Datenbankzugriffsobjekt.

02:43.530 --> 02:49.440
Im Raum verwenden Sie Datenzugriffsobjekte für den Zugriff und die Verwaltung Ihrer Daten.

02:49.470 --> 02:59.070
Die Dao ist die Hauptkomponente von room und enthält Methoden, die den Zugriff auf die Datenbank Ihrer App ermöglichen.

02:59.070 --> 03:08.340
Sie muss mit einer Dao-Annotation versehen werden, die anstelle von Query Buildern verwendet wird und es Ihnen ermöglicht, verschiedene Komponenten

03:08.340 --> 03:10.740
Ihrer Datenbank zu trennen.

03:10.740 --> 03:17.610
Zum Beispiel aktuelle Daten und Statistiken, mit denen Sie Ihre Datenbank leicht testen können.

03:17.610 --> 03:26.550
Die dritte Komponente ist die Datenbank, die als Datenbankhalter dient und den Hauptzugriffspunkt auf Ihre relationalen

03:26.550 --> 03:28.200
Daten darstellt.

03:28.200 --> 03:34.800
Sie muss mit einer Datenbankanmerkung versehen werden und erweitert die Raumdatenbank.

03:34.830 --> 03:40.620
Sie enthält auch das Dao-Datenzugriffsobjekt und gibt es zurück.

03:40.620 --> 03:48.360
Wie Sie sehen, werden wir die Annotationen bei Entity im I O und Add Database verwenden, um Android Studio über

03:48.360 --> 03:51.930
die Rolle der einzelnen Klassen zu informieren.
