WEBVTT

00:00.140 --> 00:01.120
Willkommen zurück.

00:01.130 --> 00:07.190
Anstatt den Namen und die E-Mail an die Hauptaktivität zu senden, die dann einen Kontakt

00:07.190 --> 00:14.840
erstellt und an die Datenbank sendet, verwenden wir die ViewModel-Instanz, die von der Aktivität Add new contact

00:14.840 --> 00:21.470
an den Add new contact Click-Handler übergeben wurde, und fügen sie in unsere Datenbank ein.

00:21.470 --> 00:29.360
Es besteht also keine Notwendigkeit, extra zu setzen, da diese Methode mit den Intents und put extra einige Fehler verursachen wird,

00:29.360 --> 00:35.840
wenn die Hauptaktivität aufgerufen und gesendet wird und die Hauptaktivität die Datenbank einfügt.

00:35.870 --> 00:39.920
Ich empfehle dies und zeige Ihnen einen besseren Ansatz.

00:39.920 --> 00:46.490
Ich werde eine neue ViewModel-Instanz in der Aktivität "Neuen Kontakt hinzufügen" vor dem Handler erstellen.

00:46.520 --> 00:56.600
Mein ViewModel, mein ViewModel entspricht einem neuen ViewModel-Anbieter und ich übergebe diesen als Eigentümer dot get

00:56.600 --> 01:01.670
und hier muss ich meine ViewModel-Klasse hier bekommen.

01:01.670 --> 01:05.090
Ich erhalte hier eine Instanz des ViewModel.

01:05.090 --> 01:07.550
Ich übergebe es in meinen Ansichtsmodus.

01:07.550 --> 01:15.380
Gehen wir zum Konstruktor dieses Add New Contact Handlers und erstellen wir mein ViewModel, mein ViewModel.

01:15.380 --> 01:16.670
Warum ich das tue?

01:16.670 --> 01:20.120
Warum ich mein ViewModel nicht direkt hier erstellen kann.

01:20.120 --> 01:24.410
My ViewModel entspricht dem neuen my ViewModel Anbieter.

01:24.410 --> 01:31.070
Und hier können Sie das nicht weitergeben, weil Sie eine Aktivität oder ein Fragment benötigen.

01:31.070 --> 01:36.830
Und diese Klasse ist nicht von der appcompat oder eine Aktivität erweitern.

01:36.830 --> 01:43.760
Dazu müssen Sie das ViewModel im Konstruktor übergeben und dann hier verwenden.

01:43.760 --> 01:44.480
Verstehen Sie das?

01:44.480 --> 01:47.930
Leute, ich möchte, dass ihr euch mit mir auf diese Idee konzentriert.

01:47.960 --> 01:55.250
Ich ändere den Konstruktor und meine ViewModel-Instanz erstellen, nur um diesen Fehler zu lösen.

01:55.250 --> 02:02.640
Denn wenn Sie ein My ViewModel erstellen, müssen Sie den ViewModel-Provider als ViewModel-Store-Eigentümer angeben,

02:02.640 --> 02:08.460
und dieser wird ausschließlich von einer Aktivität oder einem Fragment übergeben.

02:08.460 --> 02:13.680
Deshalb entferne ich diese Zeile und ändere hier den Konstruktor.

02:13.680 --> 02:19.230
Mein ViewModel, dieser Punkt, mein ViewModel entspricht meinem ViewModel.

02:19.230 --> 02:23.670
Jetzt wird mein ViewModel von der Aktivität "Neuen Kontakt hinzufügen" übergeben.

02:23.670 --> 02:31.260
Ich werde dieses ViewModel verwenden, um die Informationen über den Namen und die E-Mail-Adresse des Kontakts einzufügen

02:31.260 --> 02:33.900
und ein neues Kontaktobjekt zu erstellen.

02:33.900 --> 02:42.930
Ich gebe ihm einen Namen, zeige neue Kontakte an und setze den Kontaktpunkt für den Namen und den Kontaktpunkt für die E-Mail.

02:42.960 --> 02:52.500
Ich muss diesen Kontakt mit ViewModel einfügen, mein ViewModel Punkt neuen Kontakt hinzufügen und ich werde passieren.

02:52.530 --> 02:54.030
Wir sehen uns wieder, Leute.

02:54.030 --> 03:02.850
Wenn Sie mit Viewmodels arbeiten, achten Sie bitte darauf, eine Instanz davon zu erstellen und diese an die Klassen zu übergeben,

03:02.850 --> 03:06.510
die hier als Clickhandler fungieren.

03:06.510 --> 03:15.060
Diese Klasse ist keine Erweiterung der appcompat-Aktivität, sie ist also eine normale Klasse und keine Aktivität.

03:15.060 --> 03:16.380
Dies ist eine Aktivität.

03:16.380 --> 03:22.110
So kann ich innerhalb der Aktivität ViewModel verwenden und Instanzen von ViewModel erstellen.

03:22.110 --> 03:31.740
Ich gehe zu dieser Aktivität und nenne sie "Richard Richard at Gmail". Klicken Sie auf "Add contact to the database"

03:31.740 --> 03:33.360
und los geht's.

03:33.360 --> 03:39.420
Wir werden auf die Hauptaktivität verwiesen und Richard wird in unsere Datenbank aufgenommen.

03:39.420 --> 03:40.950
Herzlichen Glückwunsch, Leute.

03:40.950 --> 03:50.100
Es ist uns gelungen, Daten in unsere Datenbank einzufügen, indem wir eine Instanz meines ViewModel an den Konstruktor der Click Handler-Klasse

03:50.100 --> 03:52.380
übergeben haben.
