WEBVTT

00:00.230 --> 00:01.340
Hallo Entwickler.

00:01.340 --> 00:04.640
In diesem Video lernen wir die Ansichtsmodelle kennen.

00:04.670 --> 00:10.280
Ein Ansichtsmodell ist ein Teil der Android-Architekturkomponente, die dazu dient, UI-bezogene Daten

00:10.280 --> 00:17.270
so zu speichern und zu verwalten, dass sie Konfigurationsänderungen, wie z. B. die Drehung des Bildschirms, überstehen und die

00:17.270 --> 00:21.920
Trennung von UI-Komponenten und Datenverarbeitungslogik ermöglichen.

00:21.950 --> 00:28.340
Es hilft, Daten von den UI-Komponenten wie Aktivitäten und Fragmenten zu trennen und ermöglicht eine bessere

00:28.340 --> 00:32.050
Organisation und Wartbarkeit des Codes in Android.

00:32.060 --> 00:36.670
Beginnen wir mit dem Hinzufügen der Abhängigkeit für unser Ansichtsmodell.

00:36.680 --> 00:44.540
Zum Bauen gehen. gradle app level und hier sollten Sie die Lebenszyklusversion hinzufügen, die 2. 6.

00:44.540 --> 00:45.140
Punkt zwei.

00:45.140 --> 00:50.360
Dies ist die neueste Version und die Implementierung des Ansichtsmodells.

00:50.360 --> 00:57.980
Sie können diese Abhängigkeit vom Entwickler erhalten. Androide. com und suchen Sie nach Android X

00:58.040 --> 00:59.060
lifecycle.

00:59.060 --> 01:04.260
Wählen Sie es aus und Sie können sehen, dass der Lebenszyklus diese Ansichtsmodell-Abhängigkeit enthält.

01:04.260 --> 01:06.670
Kopieren Sie dies und fügen Sie es auf dem Boden ein.

01:06.690 --> 01:09.030
Klicken Sie jetzt auf "Synchronisieren" und los geht's.

01:09.030 --> 01:14.940
Jetzt sind wir bereit, das View-Modell in unserer Anwendung für View-Modell zu verwenden, ich werde

01:14.940 --> 01:21.990
eine neue Java-Klasse erstellen und ich werde es als mein View-Modell nennen und ich werde von View-Modell erweitern.

01:21.990 --> 01:26.160
Wie Sie sehen können, stammt es aus dem Android X dot lifecycle Paket.

01:26.160 --> 01:32.490
Diese Klasse enthält also die Daten, die Sie zwischen verschiedenen UI-Komponenten austauschen möchten,

01:32.490 --> 01:33.600
z. B. den Zähler.

01:33.600 --> 01:36.660
Ich schiebe den Zähler also hierher.

01:36.690 --> 01:42.360
Dann muss ich das Ansichtsmodell in der Hauptaktivität initialisieren, um es verwenden zu können.

01:42.360 --> 01:46.230
Sie müssen also das Ansichtsmodell in Ihrer Aktivität oder Ihrem Fragment initialisieren.

01:46.230 --> 01:50.130
Sie können dies mit dem View Model Provider tun.

01:50.130 --> 01:52.520
Also mein Sichtmodell.

01:52.560 --> 01:53.730
Modell ansehen.

01:53.850 --> 02:04.240
Entfernen Sie diese Ansicht Modell gleich neu meine Ansicht Modell dieser Punkt erhalten und die hier Ansicht Modell Anbieter.

02:04.260 --> 02:13.020
Keine Sorge, ich erkläre alles dot get und hier meine Ansicht Modell dot Klasse Ansicht Modell Anbieter.

02:13.020 --> 02:17.370
In diesem Teil des Codes wird die Instanz des View Model Providers erstellt.

02:17.400 --> 02:24.360
Ein View Model Provider ist eine Klasse, die von der Android-Architekturkomponente bereitgestellt wird und den Lebenszyklus

02:24.360 --> 02:26.340
eines View Models verwaltet.

02:26.340 --> 02:33.180
Sie erfordert einen Verweis auf einen View Model Store Owner, bei dem es sich in der Regel um eine Aktivität oder ein Fragment handelt.

02:33.180 --> 02:40.560
Dafür habe ich dies verwendet, und dieser Parameter bezieht sich auf die aktuelle Aktivität, die die Hauptaktivität

02:40.560 --> 02:44.340
als Eigentümer des Ansichtsmodells ist.

02:44.340 --> 02:53.790
Dies bezieht sich also auf die Hauptaktivität und darauf, dass diese Aktivität die Punkt-Get-Methode des View-Modells besitzt.

02:53.790 --> 02:56.370
Und hier habe ich mein Ansichtsmodell dot class übergeben.

02:56.370 --> 03:03.990
Dieser Teil des Codes ruft eine Instanz des Ansichtsmodells der angegebenen Klasse, in diesem Fall meine Instanz

03:03.990 --> 03:07.140
des Ansichtsmodells, ab oder erstellt sie.

03:07.140 --> 03:14.460
Wenn ein Ansichtsmodell der angegebenen Klasse bereits existiert und mit dem angegebenen Eigentümer des Ansichtsmodellspeichers,

03:14.460 --> 03:22.200
in diesem Fall der Hauptaktivität, verbunden ist, wird die vorhandene Ansichtsmodellinstanz zurückgegeben.

03:22.200 --> 03:29.460
Wenn das Ansichtsmodell also bereits vorhanden ist, wird es wiederverwendet, um sicherzustellen, dass Sie eine einzige Instanz des Ansichtsmodells,

03:29.490 --> 03:36.300
die mit der Aktivität oder dem Fragment verbunden ist, beibehalten, selbst bei Konfigurationsänderungen wie Bildschirmdrehungen.

03:36.300 --> 03:44.430
Wenn das Ansichtsmodell nicht existiert, wird eine neue Instanz meines Ansichtsmodells erstellt, die mit dem Lebenszyklus des Eigentümers

03:44.430 --> 03:48.510
des bereitgestellten Ansichtsmodells verknüpft wird.

03:48.510 --> 03:57.060
Zusammenfassend lässt sich also sagen, dass diese Codezeile meine Ansichtsmodellinstanz erstellt oder abruft und dass sie an den Lebenszyklus

03:57.060 --> 04:00.930
der aktuellen Aktivität, der Hauptaktivität, gebunden ist.

04:00.930 --> 04:08.790
So können Sie während des gesamten Lebenszyklus der Aktivität oder des Fragments auf die Ansichten, Modelle und Daten zugreifen und diese manipulieren,

04:08.790 --> 04:15.630
wobei Daten, Persistenz, Zugriff, Konfigurationsänderungen und andere Lebenszyklusereignisse sichergestellt werden.

04:15.630 --> 04:25.140
Dann werde ich eine Methode public void increase counter erstellen, die den Zähler um eins erhöht.

04:25.140 --> 04:29.730
Und hier werde ich eine Getter-Methode erstellen, um den Zähler zu erhalten.

04:29.730 --> 04:34.320
Also eine zum Erhöhen des Zählers und eine zum Abrufen des aktuellen Zählers.

04:34.320 --> 04:36.060
Dies ist unser Ansichtsmodell.

04:36.060 --> 04:42.570
In diesem Fall trenne ich die Wertgegenstände von der Benutzeroberfläche mit Hilfe des View-Modells.

04:42.570 --> 04:48.390
Bewegen wir uns auf die Hauptaktivität Hauptbindungspunkt Schaltfläche, die auf Click Listener New View gesetzt ist.

04:48.390 --> 04:55.980
Ich kann die Datenbindung verwenden, um dies zu machen und auf das Ansichtsmodell zu verweisen, um diesen Zähler zu erhöhen Methode

04:56.010 --> 04:59.290
erhöhen Ansichtsmodell Punkt aufrufen und auslösen.

04:59.590 --> 05:01.330
Rees-Zähler-Methode.

05:01.330 --> 05:07.300
Außerdem muss ich das Ergebnis oder den aktuellen Zähler in der Textansicht anzeigen.

05:07.300 --> 05:15.410
Also für diese Hauptbindung Punkt Textansicht zwei Punkt setzen Textansicht Modell Punkt erhalten aktuellen Zähler.

05:15.430 --> 05:20.940
Außerdem muss ich beim Ausführen der Anwendung den Zähler hier anzeigen.

05:20.950 --> 05:28.720
Führen wir die Anwendung aus und hoppla, wir haben einen Fehler, denn ich glaube, er kommt von hier.

05:28.720 --> 05:35.290
Ich muss eine leere Zeichenkette setzen, und Sie können den Text direkt für ganze Zahlen setzen.

05:35.290 --> 05:43.870
Dies gibt einen int zurück, so dass Sie sehen können, dass wir hier einen int haben, also kann ich nicht direkt einen int für eine Textansicht setzen.

05:43.870 --> 05:46.870
Ich muss zunächst eine leere Zeichenfolge verwenden.

05:46.870 --> 05:48.730
Auf geht's und los geht's.

05:48.730 --> 05:50.020
Dies ist unsere Bewerbung.

05:50.020 --> 05:52.750
Erhöhen Sie den Zähler und es funktioniert einwandfrei.

05:52.750 --> 06:00.410
Lassen Sie uns nun einige Konfigurationsänderungen vornehmen, wie z. B. die Drehung des Bildschirms, und Sie können sehen,

06:00.410 --> 06:08.660
dass das Ansichtsmodell den Zähler beibehält. Erhöhen Sie den Zähler auf 17, drehen Sie dann den Bildschirm und los geht's.

06:08.660 --> 06:15.800
Dies ist unsere View Model App, die den Zähler auf seinem letzten Stand hält.

06:15.800 --> 06:17.690
Also herzlichen Glückwunsch, Leute.

06:17.690 --> 06:26.960
Es ist uns gelungen, die Daten zu speichern und aufzubewahren und die Daten mithilfe des Ansichtsmodells von der Benutzeroberfläche zu trennen.
