Hallo, meine Freunde, und willkommen zurück.
In diesem Video lernen wir ein sehr wichtiges Konzept in Android kennen, das ViewModel.
Ich möchte, dass Sie sich ganz auf mich konzentrieren.
ViewModel ist eine Klasse, die für die Vorbereitung und Verwaltung der Daten für eine Aktivität oder ein Fragment verantwortlich ist.
Sie übernimmt auch die Kommunikation der Aktivität oder des Fragments mit dem Rest der Anwendung.
Ein ViewModel wird immer in Verbindung mit einem Bereich, einem Fragment oder einer Aktivität erstellt und bleibt so lange
erhalten, wie der Bereich aktiv ist.
Zum Beispiel, wenn es sich um eine Aktivität handelt, bis sie beendet ist.
Mit anderen Worten bedeutet dies, dass ein ViewModel nicht zerstört wird, wenn sein Besitzer aufgrund einer Konfigurationsänderung zerstört
wird.
Zum Beispiel die Drehung des Bildschirms.
Die ViewModel-Klasse ist ein Zustandshalter auf Geschäftslogik- oder Bildschirmebene.
Sie stellt den Zustand der Benutzeroberfläche zur Verfügung und kapselt die zugehörige Geschäftslogik.
Ihr Hauptvorteil besteht darin, dass sie einen Zustand zwischenspeichert und ihn bei Konfigurationsänderungen beibehält.
Das bedeutet, dass Ihre Benutzeroberfläche die Daten nicht erneut abrufen muss, wenn Sie zwischen Aktivitäten navigieren oder Konfigurationsänderungen
vornehmen, z. B. wenn Sie den Bildschirm drehen.
Im nächsten Video werden wir ein Beispiel über das ViewModel nehmen, wie wir ein ViewModel in unseren Anwendungen implementieren.
Aber lassen Sie uns in Android Studio springen und sehen, was unsere Konfiguration ändert.
Ich habe diese einfache Anwendung namens ViewModel Application to Text Views erstellt.
Dies ist der Titel und dies ist der Zähler.
Auch.
Ich habe einen Knopf.
Ich schließe sie in das Layout-Element ein und füge die Build-Funktionen der Datenbindungsbibliothek zu unserer Anwendung hinzu.
Wenn Sie doppelte Klasse Fehler in Android Studio Gesicht, fügen Sie einfach fix doppelte Klasse und diese Umsetzung synchronisieren
das Projekt.
Kommen wir nun zur Haupttätigkeit.
In der Haupttätigkeit.
Ich habe eine Aktivität mit dem Namen main binding und einen Zähler vom Typ integer erstellt.
Dann initialisiere ich es und muss den Zähler um eins erhöhen und den Text auf den Zähler setzen.
Führen Sie das Projekt aus und Sie können sehen, wie der Zähler erhöht wird.
Es nimmt richtig zu.
Aber das Problem ist, wenn ich auf turn klicke und den Bildschirm drehe, wird der Zähler auf den Anfangswert zurückgesetzt,
also auf Null.
Erhöhen Sie den Zähler.
Es funktioniert perfekt, aber wenn ich den Bildschirm drehe, wird der Zähler auf seinen Anfangswert zurückgesetzt.
Dies ist ein Problem, da unsere Anwendung Konfigurationsänderungen nicht überlebt, was der Rotationsbildschirm
ist.
Was ist in diesem Fall die Lösung?
Die Lösung ist die Verwendung des ViewModel in unserer einfachen Anwendung.