Für diejenigen unter euch, die nicht wissen, was Android Jetpack ist, dann
Android Jetpack ist eine Sammlung von Android-Software-Komponenten, die es euch leichter machen, großartige Android-Apps zu entwickeln.
Sie werden Ihnen helfen
- Best Practices zu befolgen
- Sie davon zu befreien, Boilerplate-Code zu schreiben.
- Vereinfachen Sie komplexe Aufgaben, damit Sie sich auf den Code konzentrieren können, der Ihnen wichtig ist.
Hier ist das Video aus dem Android Developers Channel:
Lassen Sie uns jetzt über Room sprechen
Room ist eine Persistenzbibliothek, Teil des Android Jetpack.
Hier ist das Video aus dem Android Developers Channel:
Schritt 2: Erstellen einer Modellklasse
Room erstellt für jede mit @Entity
annotierte Klasse eine Tabelle; die Felder in der Klasse entsprechen den Spalten in der Tabelle. Daher sind die Entitätsklassen in der Regel kleine Modellklassen, die keine Logik enthalten. Unsere Klasse Person
stellt das Modell für die Daten in der Datenbank dar. Aktualisieren wir sie also, um Room mitzuteilen, dass er eine Tabelle auf der Grundlage dieser Klasse erstellen soll:
- Bemerken Sie die Klasse mit
@Entity
und verwenden Sie dietableName
-Eigenschaft, um den Namen der Tabelle festzulegen. - Setzen Sie den Primärschlüssel, indem Sie die
@PrimaryKey
-Bemerkung zu den richtigen Feldern hinzufügen – in unserem Fall ist dies die ID des Benutzers. - Setzen Sie die Namen der Spalten für die Klassenfelder mit der
@ColumnInfo(name = "column_name")
-Bemerkung. Sie können diesen Schritt überspringen, wenn Ihre Felder bereits den richtigen Spaltennamen haben. - Wenn mehrere Konstruktoren geeignet sind, fügen Sie die
@Ignore
-Anmerkung hinzu, um Room mitzuteilen, welche verwendet werden sollen und welche nicht.
Schritt 3: Erstellen von Datenzugriffsobjekten (DAOs)
DAOs sind für die Definition der Methoden verantwortlich, die auf die Datenbank zugreifen.
Um ein DAO zu erstellen, müssen wir eine Schnittstelle erstellen und mit @Dao annotieren.
Schritt 4 – Erstellen der Datenbank
Um eine Datenbank zu erstellen, müssen wir eine abstrakte Klasse definieren, die RoomDatabase
erweitert. Diese Klasse ist mit @Database
annotiert, listet die Entitäten auf, die in der Datenbank enthalten sind, und die DAOs, die auf sie zugreifen.
Schritt 4: Verwalten der Daten
Um die Daten zu verwalten, müssen wir zunächst eine Instanz der Datenbank erstellen.
Dann können wir die Datenbank einfügen, löschen und aktualisieren.
Stellen Sie sicher, dass alle Operationen in einem anderen Thread ausgeführt werden. In meinem Fall verwende ich Executers (siehe hier)
Query:
Insert:
Löschen:
Aktualisieren:
Ausführen mit Executer
Ich habe auch ein Repo verlinkt, falls ihr das Beispiel der Raumdatenbank sehen wollt.