WEBVTT

00:00.080 --> 00:01.850
Hallo, meine Freunde, und willkommen zurück.

00:01.850 --> 00:05.990
In diesem Video beginnen wir mit der Erstellung unserer Kontaktmanager-Anwendung.

00:05.990 --> 00:10.190
Wir werden dem Mvvm-Entwurfsmuster mit Raumdatenbank folgen.

00:10.220 --> 00:18.320
Also in unserer lokalen Datenquelle, der Raumdatenbank, beginne ich mit dem Entwurf der Entität SQLite, die die

00:18.320 --> 00:25.640
Datenbank und das Dao ist und die Kontakte Manager Application Raumdatenbank enthält nur eine Tabelle,

00:25.640 --> 00:32.480
die die Entität als Kontakte, Tabelle oder Kontakte in dieser Entität genannt wird.

00:32.480 --> 00:40.160
Diese Tabelle Ich habe drei Spalten Kontakt-ID, die vom Typ int Kontaktname, die vom Typ String ist und der

00:40.160 --> 00:43.160
Kontakt E-Mail, die vom Typ String ist.

00:43.160 --> 00:47.360
Starten wir in Android Studio und beginnen mit der Erstellung unserer Datenbank.

00:47.360 --> 00:52.700
Der erste Schritt bei der Erstellung unserer Datenbank besteht darin, mit der Entitätsklasse zu beginnen.

00:52.700 --> 01:00.810
Um die Raumdatenbank zu verwenden, müssen wir ihre Abhängigkeit vom Entwickler hinzufügen. Androide. com-Website.

01:00.810 --> 01:08.490
Scrollen Sie also nach unten, suchen Sie nach Android X room oder gehen Sie zu diesem Link developer. Androide. com slash jetpack slash android

01:08.490 --> 01:13.830
slash releases slash room und kopieren Sie diese Abhängigkeit.

01:13.830 --> 01:20.930
Diese sind optional und können verwendet werden, wenn Sie die Capt- oder KSP-Kotlin-Symbolverarbeitung verwenden.

01:20.940 --> 01:28.020
Ich habe ein neues Projekt mit dem Namen Contacts Manager Application in Android Studio erstellt und gehe auf Build. gradle und fügen Sie diese Abhängigkeit der Raumdatenbank

01:28.950 --> 01:37.350
ein Klicken Sie jetzt auf sync und ich brauche den Annotationsprozessor, weil alle Operationen wie Einfügen,

01:37.350 --> 01:43.860
Löschen, Aktualisieren und so weiter auch dort annotiert sind.

01:43.890 --> 01:52.410
Wie bereits erwähnt, sind die Add entity Dao-Datenbank-Annotationen enthalten, so dass ich den Annotationsprozessor verwenden

01:52.410 --> 01:53.100
muss.

01:53.100 --> 02:00.990
Und der Anmerkungsprozessor ist ein Werkzeug, das Anmerkungen zur Kompilierzeit verarbeitet, um Code zu erzeugen und andere

02:00.990 --> 02:02.640
Aufgaben auszuführen.

02:02.640 --> 02:12.330
Es wird häufig verwendet, um die sich wiederholende Codegenerierung zu automatisieren und bestimmte Verhaltensweisen in Ihrer Codebasis zu erzwingen.

02:12.330 --> 02:19.470
Diese Anmerkungen liefern dem Compiler oder den Werkzeugen also zusätzliche Informationen darüber, wie die markierten Elemente

02:19.470 --> 02:20.850
zu behandeln sind.

02:20.850 --> 02:27.480
In Android können Sie z. B. Anmerkungen wie Override, Länge unterdrücken oder von Ihnen definierte benutzerdefinierte Anmerkungen

02:27.480 --> 02:28.440
verwenden.

02:28.440 --> 02:36.810
Beginnen wir mit dem ersten Schritt, indem wir eine neue Java-Klasse erstellen. Ich werde sie Kontakte nennen und Android Studio mitteilen,

02:36.810 --> 02:42.540
dass diese Klasse als Entitätsklasse in unserer Raumdatenbank fungieren wird.

02:42.540 --> 02:45.870
Ich werde mit Entity Annotation annotiert.

02:45.870 --> 02:53.250
Eine Entität ist eine grundlegende Komponente, die eine Tabelle in der SQLite-Datenbank darstellt.

02:53.250 --> 03:00.750
Jede Entitätsklasse entspricht einer Tabelle, und die Feldeigenschaften oder die Variablen innerhalb der Entitätsklasse

03:00.750 --> 03:04.260
stellen INT-Spalten in dieser Tabelle dar.

03:04.260 --> 03:09.120
Entitäten definieren die Struktur und das Schema Ihrer Datenbanktabellen.

03:09.120 --> 03:16.890
Wie bereits erwähnt, habe ich nur eine Entitätsklasse namens Kontakte, und ich habe in dieser Tabelle drei

03:16.890 --> 03:24.120
Spalten, Kontakt-ID, Kontaktname und Kontakt-E-Mail eine vom Typ int und zwei vom Typ strings.

03:24.120 --> 03:30.450
Übrigens können Sie in der Entitätsanmerkung verschiedene Attribute wie den Tabellennamen, Primärschlüssel

03:30.450 --> 03:32.460
und Indizes angeben.

03:32.460 --> 03:42.450
So werde ich zum Beispiel diese Entität oder diese Tabelle Tabellenname gleich Kontakte Unterstrich Tabelle nennen.

03:42.450 --> 03:46.770
Sie können sie wie Kontakte spezifizieren oder sie benennen, wie Sie wollen.

03:46.800 --> 03:55.950
Wenn Sie den Tabellennamen hier in der Entität nicht angeben, wird der Name der Tabelle genau wie der Name

03:55.950 --> 03:57.990
der Klasse angegeben.

03:57.990 --> 04:05.490
Wenn ich diese Tabelle entferne, benennen Sie die Tabelle in unserer Datenbank, aber ich bevorzuge die Angabe des Tabellennamens und ich

04:05.490 --> 04:08.610
werde sie als Kontakte Unterstrich-Tabelle benennen.

04:08.610 --> 04:13.080
Jetzt habe ich also diese leere Tabelle ohne Spalten erstellt.

04:13.080 --> 04:15.420
Ich benenne sie als Tabelle Kontakte.

04:15.420 --> 04:21.750
Die Felder innerhalb der Entitätsklasse stellen Spalten in der Datenbanktabelle dar.

04:21.750 --> 04:29.850
In diesem Beispiel entsprechen die Felder ID-Name und E-Mail den Spalten in der Tabelle "Benutzer" oder der

04:29.850 --> 04:31.470
Tabelle "Kontakte".

04:31.470 --> 04:39.450
Dafür werde ich private int id, private string name und private string email anlegen.

04:39.450 --> 04:44.490
Drei Felder stehen für drei Spalten in meinen Kontakten.

04:44.490 --> 04:50.790
Unterstreichen Sie in der Tabelle den Namen von Collins bis jetzt unseren ID-Namen und die E-Mail.

04:50.790 --> 04:57.330
Wenn ich den Namen der Spalte ändern muss, können Sie dies unter Spalteninfo tun.

04:57.360 --> 04:59.940
Es wird der Vermerk column info verwendet.

05:00.130 --> 05:09.130
Zur Angabe zusätzlicher Details darüber, wie ein Feld, eine Eigenschaft oder eine Variable in einer Entitätsklasse auf eine Spalte in der Datenbanktabelle

05:09.130 --> 05:11.320
abgebildet wird.

05:11.320 --> 05:17.020
Diese Anmerkung bietet Kontrolle über spaltenspezifische Eigenschaften und Verhaltensweisen.

05:17.020 --> 05:24.130
Sie können die Annotation column info verwenden, um den Namen der Datenbankspalte, die einem Feld in Ihrer Entität entspricht,

05:24.130 --> 05:25.930
explizit anzugeben.

05:25.960 --> 05:34.240
Zum Beispiel, diese ID, wenn ich eine Datenbanktabelle mit der ersten Spalte Kontakt Unterstrich ID erstellen

05:34.270 --> 05:42.910
müssen, kann ich ein Feld ohne eine Spalte ID wie dieser Kontakt Unterstrich ID und der Raum Datenbank wird eine Spalte

05:42.910 --> 05:51.190
als Kontakt-ID benannt erstellen, oder ich kann hier die ID als Variable und die Spalte Info angeben und ich werde

05:51.220 --> 05:56.230
den Namen Eigenschaft gleich Kontakte angeben.

05:56.260 --> 05:57.430
Underscore ID.

05:57.460 --> 06:03.140
Der Name der Spalte lautet hier Kontakt, Unterstrich ID und nicht ID.

06:03.140 --> 06:05.900
Der Name der Spalte ist name.

06:05.900 --> 06:13.760
Ich kann es ändern, indem ich auf die gleiche Weise die Spalte Info Name gleich Kontakt Unterstrich Name.

06:13.760 --> 06:22.490
Ich zeige Ihnen nur, wie leistungsfähig die Anmerkungen im Raum und in der Android-Spalte Info sind.

06:22.490 --> 06:31.820
Auch hier können Sie diese Spalteninfo weglassen, so dass die Raumdatenbank Spalten mit dem Namen der Variablen erstellt,

06:31.820 --> 06:35.090
die Sie in allen Tabellen erstellen.

06:35.090 --> 06:42.950
Wir müssen einen Primärschlüssel mit einem eindeutigen und primären Schlüssel, dass es nicht wiederholt werden und in diesem

06:42.950 --> 06:47.960
Fall der Kontakt Unterstrich ID wird als Primärschlüssel zu handeln angeben.

06:47.960 --> 06:56.930
Hier im ID-Feld verwende ich also eine Anmerkung namens Primärschlüssel und setze die automatische Generierung auf

06:56.930 --> 06:57.560
true.

06:57.560 --> 07:05.030
Der Vermerk "Primärschlüssel" zeigt an, dass das Feld ID der Primärschlüssel für diese Tabelle ist.

07:05.030 --> 07:13.310
Das Attribut autogenerate equal to true bedeutet, dass das SQL den neuen Datensätzen automatisch eindeutige

07:13.310 --> 07:14.870
IDs zuweist.

07:14.870 --> 07:18.410
Ich werde die Konstruktoren mit Alt+Einfügen erstellen.

07:19.360 --> 07:24.040
Einer hat alle Felder und einer hat nichts.

07:24.040 --> 07:27.880
Dies wird verwendet, um eine Nullzeiger-Ausnahme zu verhindern.

07:27.880 --> 07:30.250
Ich werde Getter und Setter erstellen.

07:31.460 --> 07:33.410
Für alle Elemente.
