Hallo, meine Freunde, und willkommen zurück.
In diesem Video lernen wir zunächst die Raumdatenbank in Android kennen.
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.
Die SQLite-Datenbank ist eine Open-Source-Datenbank, die in Android zur Verfügung gestellt wird und zum Speichern von Daten im Gerät
des Benutzers in Form einer Textdatei verwendet wird.
Wir können viele Operationen mit diesen Daten durchführen, z. B. neue Daten hinzufügen, sie aktualisieren, lesen und
löschen.
SQLite ist eine Offline-Datenbank, die lokal auf dem Gerät des Benutzers gespeichert ist, und wir müssen keine Verbindung
herstellen, um uns mit diesem Datenbankraum zu verbinden.
Database room ist eine ORM-Bibliothek für objektrelationales Mapping.
Mit anderen Worten, room wird unsere Datenbankobjekte auf Java-Objekte abbilden. room bietet eine Abstraktionsschicht über SQLite, um einen
flüssigen Datenbankzugriff zu ermöglichen und gleichzeitig die volle Leistungsfähigkeit von SQLite zu nutzen.
Eine Raumdatenbank ist also eine leistungsstarke und flexible Bibliothek, die eine Abstraktionsschicht über SQLite
bietet. Ein leichtgewichtiges relationales Datenbankmanagementsystem vereinfacht Datenbankoperationen und erleichtert
Entwicklern die Arbeit mit Datenbanken in ihren Android-Anwendungen.
Es ist ein Teil der Android-Architekturkomponenten und veranlasst die Verwendung des Mvvm-Modells.
Ansicht AnsichtModell Architekturmuster.
In den nächsten Videos werden wir über dieses Muster SQLite versus Raumdatenbank sprechen.
Im Falle von SQLite gibt es keine Kompilierungszeitüberprüfung der SQL-Zeilenabfragen, aber in Room gibt es eine Validierung
zur Kompilierungszeit, und das ist ein sehr wichtiger und guter Punkt Für die Room-Datenbank müssen Sie
viel Boilerplate-Code verwenden, um zwischen SQL-Abfragen und Java-Datenbankobjekten zu konvertieren.
Aber room bildet unsere Datenbankobjekte auf Java-Objekte ab, ohne Boilerplate-Code.
Wenn sich Ihr Schema ändert, müssen Sie die betroffenen SQL-Abfragen manuell aktualisieren.
Room löst dieses Problem Room ist für die Arbeit mit Live-Daten und rxjava für die Datenbeobachtung konzipiert, SQL
Light hingegen nicht.
Raum hat drei Hauptkomponenten der Raumdatenbank, Entität, Dao und Datenbank.
Lassen Sie uns über diese Komponenten im Detail sprechen.
Die erste Komponente ist die Entität.
Die Entität stellt eine Tabelle innerhalb der Datenbank dar und muss mit einer Entitätsannotation versehen werden.
Jede Entität besteht aus mindestens einem Feld, das einen Primärschlüssel definieren muss.
Die zweite Komponente ist das Dao-Datenbankzugriffsobjekt.
Im Raum verwenden Sie Datenzugriffsobjekte für den Zugriff und die Verwaltung Ihrer Daten.
Die Dao ist die Hauptkomponente von room und enthält Methoden, die den Zugriff auf die Datenbank Ihrer App ermöglichen.
Sie muss mit einer Dao-Annotation versehen werden, die anstelle von Query Buildern verwendet wird und es Ihnen ermöglicht, verschiedene Komponenten
Ihrer Datenbank zu trennen.
Zum Beispiel aktuelle Daten und Statistiken, mit denen Sie Ihre Datenbank leicht testen können.
Die dritte Komponente ist die Datenbank, die als Datenbankhalter dient und den Hauptzugriffspunkt auf Ihre relationalen
Daten darstellt.
Sie muss mit einer Datenbankanmerkung versehen werden und erweitert die Raumdatenbank.
Sie enthält auch das Dao-Datenzugriffsobjekt und gibt es zurück.
Wie Sie sehen, werden wir die Annotationen bei Entity im I O und Add Database verwenden, um Android Studio über
die Rolle der einzelnen Klassen zu informieren.