Hallo Entwickler.
In diesem Video lernen wir die Ansichtsmodelle kennen.
Ein Ansichtsmodell ist ein Teil der Android-Architekturkomponente, die dazu dient, UI-bezogene Daten
so zu speichern und zu verwalten, dass sie Konfigurationsänderungen, wie z. B. die Drehung des Bildschirms, überstehen und die
Trennung von UI-Komponenten und Datenverarbeitungslogik ermöglichen.
Es hilft, Daten von den UI-Komponenten wie Aktivitäten und Fragmenten zu trennen und ermöglicht eine bessere
Organisation und Wartbarkeit des Codes in Android.
Beginnen wir mit dem Hinzufügen der Abhängigkeit für unser Ansichtsmodell.
Zum Bauen gehen. gradle app level und hier sollten Sie die Lebenszyklusversion hinzufügen, die 2. 6.
Punkt zwei.
Dies ist die neueste Version und die Implementierung des Ansichtsmodells.
Sie können diese Abhängigkeit vom Entwickler erhalten. Androide. com und suchen Sie nach Android X
lifecycle.
Wählen Sie es aus und Sie können sehen, dass der Lebenszyklus diese Ansichtsmodell-Abhängigkeit enthält.
Kopieren Sie dies und fügen Sie es auf dem Boden ein.
Klicken Sie jetzt auf "Synchronisieren" und los geht's.
Jetzt sind wir bereit, das View-Modell in unserer Anwendung für View-Modell zu verwenden, ich werde
eine neue Java-Klasse erstellen und ich werde es als mein View-Modell nennen und ich werde von View-Modell erweitern.
Wie Sie sehen können, stammt es aus dem Android X dot lifecycle Paket.
Diese Klasse enthält also die Daten, die Sie zwischen verschiedenen UI-Komponenten austauschen möchten,
z. B. den Zähler.
Ich schiebe den Zähler also hierher.
Dann muss ich das Ansichtsmodell in der Hauptaktivität initialisieren, um es verwenden zu können.
Sie müssen also das Ansichtsmodell in Ihrer Aktivität oder Ihrem Fragment initialisieren.
Sie können dies mit dem View Model Provider tun.
Also mein Sichtmodell.
Modell ansehen.
Entfernen Sie diese Ansicht Modell gleich neu meine Ansicht Modell dieser Punkt erhalten und die hier Ansicht Modell Anbieter.
Keine Sorge, ich erkläre alles dot get und hier meine Ansicht Modell dot Klasse Ansicht Modell Anbieter.
In diesem Teil des Codes wird die Instanz des View Model Providers erstellt.
Ein View Model Provider ist eine Klasse, die von der Android-Architekturkomponente bereitgestellt wird und den Lebenszyklus
eines View Models verwaltet.
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.
Dafür habe ich dies verwendet, und dieser Parameter bezieht sich auf die aktuelle Aktivität, die die Hauptaktivität
als Eigentümer des Ansichtsmodells ist.
Dies bezieht sich also auf die Hauptaktivität und darauf, dass diese Aktivität die Punkt-Get-Methode des View-Modells besitzt.
Und hier habe ich mein Ansichtsmodell dot class übergeben.
Dieser Teil des Codes ruft eine Instanz des Ansichtsmodells der angegebenen Klasse, in diesem Fall meine Instanz
des Ansichtsmodells, ab oder erstellt sie.
Wenn ein Ansichtsmodell der angegebenen Klasse bereits existiert und mit dem angegebenen Eigentümer des Ansichtsmodellspeichers,
in diesem Fall der Hauptaktivität, verbunden ist, wird die vorhandene Ansichtsmodellinstanz zurückgegeben.
Wenn das Ansichtsmodell also bereits vorhanden ist, wird es wiederverwendet, um sicherzustellen, dass Sie eine einzige Instanz des Ansichtsmodells,
die mit der Aktivität oder dem Fragment verbunden ist, beibehalten, selbst bei Konfigurationsänderungen wie Bildschirmdrehungen.
Wenn das Ansichtsmodell nicht existiert, wird eine neue Instanz meines Ansichtsmodells erstellt, die mit dem Lebenszyklus des Eigentümers
des bereitgestellten Ansichtsmodells verknüpft wird.
Zusammenfassend lässt sich also sagen, dass diese Codezeile meine Ansichtsmodellinstanz erstellt oder abruft und dass sie an den Lebenszyklus
der aktuellen Aktivität, der Hauptaktivität, gebunden ist.
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,
wobei Daten, Persistenz, Zugriff, Konfigurationsänderungen und andere Lebenszyklusereignisse sichergestellt werden.
Dann werde ich eine Methode public void increase counter erstellen, die den Zähler um eins erhöht.
Und hier werde ich eine Getter-Methode erstellen, um den Zähler zu erhalten.
Also eine zum Erhöhen des Zählers und eine zum Abrufen des aktuellen Zählers.
Dies ist unser Ansichtsmodell.
In diesem Fall trenne ich die Wertgegenstände von der Benutzeroberfläche mit Hilfe des View-Modells.
Bewegen wir uns auf die Hauptaktivität Hauptbindungspunkt Schaltfläche, die auf Click Listener New View gesetzt ist.
Ich kann die Datenbindung verwenden, um dies zu machen und auf das Ansichtsmodell zu verweisen, um diesen Zähler zu erhöhen Methode
erhöhen Ansichtsmodell Punkt aufrufen und auslösen.
Rees-Zähler-Methode.
Außerdem muss ich das Ergebnis oder den aktuellen Zähler in der Textansicht anzeigen.
Also für diese Hauptbindung Punkt Textansicht zwei Punkt setzen Textansicht Modell Punkt erhalten aktuellen Zähler.
Außerdem muss ich beim Ausführen der Anwendung den Zähler hier anzeigen.
Führen wir die Anwendung aus und hoppla, wir haben einen Fehler, denn ich glaube, er kommt von hier.
Ich muss eine leere Zeichenkette setzen, und Sie können den Text direkt für ganze Zahlen setzen.
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.
Ich muss zunächst eine leere Zeichenfolge verwenden.
Auf geht's und los geht's.
Dies ist unsere Bewerbung.
Erhöhen Sie den Zähler und es funktioniert einwandfrei.
Lassen Sie uns nun einige Konfigurationsänderungen vornehmen, wie z. B. die Drehung des Bildschirms, und Sie können sehen,
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.
Dies ist unsere View Model App, die den Zähler auf seinem letzten Stand hält.
Also herzlichen Glückwunsch, Leute.
Es ist uns gelungen, die Daten zu speichern und aufzubewahren und die Daten mithilfe des Ansichtsmodells von der Benutzeroberfläche zu trennen.