Hallo, meine Freunde, und willkommen zurück.
In diesem Video werde ich über ein sehr wichtiges Konzept in Android sprechen, ein sehr,
sehr wichtiges Konzept in Android und die Architekturmodellansicht.
ViewModel, ich möchte von Ihnen, um vollständig mit mir zu konzentrieren, weil ich dieses Architekturmuster in den nächsten
Projekten zu verwenden.
Stellen Sie sich vor, Sie haben einen coolen ferngesteuerten Roboter und möchten ihn dazu bringen, verschiedene Aufgaben wie
Gehen, Tanzen und Winken zu erledigen.
Dazu müssen wir dem Roboter sagen, was er tun soll, und seine Aktionen auf dem Bildschirm anzeigen.
So funktioniert der Mvvm mit unserem Roboter.
Das Modell.
Das Modell ist wie das Gehirn des Roboters.
Es weiß, wie alle Aufgaben zu erledigen sind, aber es macht nichts von selbst.
Es wartet nur auf Anweisungen.
In unserem Fall ist das Modell wie eine Liste von Aufgaben, die der Roboter ausführen kann, z. B. gehen, tanzen und winken.
Der zweite Teil ist die Aussicht.
Die Ansicht ist wie eine Fernbedienung, mit der Sie mit dem Roboter interagieren können.
Es hat Tasten für Gehen, Tanzen und Winken.
Wenn du eine Taste drückst, z. B. die Wellentaste, sagt sie dem Roboter, was er tun soll, und in diesem
Fall wird er winken.
In unserem Beispiel ist die Ansicht wie die Tasten auf Ihrer Fernbedienung.
Der dritte Teil ist das Ansichtsmodell.
Das Ansichtsmodell ist wie ein Übersetzer zwischen dem Gehirn des Roboters und der Fernsteuerung.
Es versteht die Aufgaben, die der Roboter anhand des Modells erledigen kann, und weiß, wie man mit der Fernbedienung kommuniziert.
Wenn Sie eine Taste auf der Fernbedienung drücken, übersetzt das Modell Ihre Aktion in einen Befehl,
den das Gehirn des Roboters versteht.
Wenn Sie z. B. die Wellentaste auf der Fernbedienung drücken, weist das Ansichtsmodell das Robotergehirn
an, zu winken.
Schauen wir mal, wie es funktioniert.
Drücken Sie Schritt für Schritt die Wellentaste auf der Fernbedienung.
Die Fernbedienung oder die Ansicht sendet eine Nachricht an das Ansichtsmodell, in der es heißt: "Hey, ich möchte,
dass der Roboter winkt". Der Übersetzer empfängt die Nachricht und sieht sich die Liste des Aufgabenmodells an,
um herauszufinden, wie der Roboter winken kann.
Das Ansichtsmodell weist das Gehirn des Roboters, das das Modell ist, an, mit dem Winken zu beginnen, und das Gehirn des Roboters,
das das Modell ist, beginnt zu winken, und Sie sehen den winkenden Roboter auf dem Bildschirm.
Einfach ausgedrückt, hilft uns Mvvm bei der Steuerung unseres Roboters oder unserer Anwendung, indem es das Gehirnmodell, die Fernsteuerung,
die die Ansicht ist, und den Übersetzer, der das Ansichtsmodell ist, voneinander trennt.
Diese Trennung erleichtert die Verwaltung und Kontrolle der Aktivitäten unseres Roboters oder unserer Anwendung, so wie man eine Fernbedienung
verwendet, um unseren Roboter verschiedene Aufgaben ausführen zu lassen.
Schauen wir uns Mvvm in der Android-Modellansicht an.
ViewModel Mvvm ist eine Vorlage für eine Client-Anwendungsarchitektur, die von John Guzman als Alternative zu MVC- und MVP-Mustern
bei der Verwendung von Datenbindungstechnologie vorgeschlagen wurde.
Mvvm ist ein architektonisches Muster, das häufig in der Softwareentwicklung verwendet wird, insbesondere bei der Erstellung von Benutzeroberflächen.
Mvvm wurde entwickelt, um eine Anwendung in drei verschiedene Komponenten aufzuteilen, jede mit ihren spezifischen Verantwortlichkeiten,
Modell, Ansicht und Ansichtsmodell, um die Datenpräsentationslogik von der Geschäftslogik zu trennen, indem sie in eine bestimmte
Klasse verschoben wird, um eine klare Unterscheidung zu ermöglichen.
Tauchen wir ein in diese Komponenten des mvvm und sehen wir uns die Schichten an.
Die separaten Codeschichten von Mvvm sind Model View und ViewModel Model.
Diese Schicht ist für die Abstraktion der Datenquellen, des Modells und des Ansichtsmodells verantwortlich.
Arbeiten Sie gemeinsam an der Erfassung und Speicherung der Daten.
Das Modell stellt die Daten und die Geschäftslogik der Anwendung dar.
Es kapselt die Daten, mit denen Sie arbeiten müssen, wie z. B. Benutzerinformationen, Datenbankdatensätze oder von
einem Webdienst abgerufene Daten.
Es enthält keinen Code, der sich auf die Benutzeroberfläche oder die Darstellung der Daten in Android bezieht. Modelle
werden oft als Datenklassen oder Entitäten dargestellt.
ist, dass die Struktur der Daten definiert wird.
Die zweite Ebene ist die Ansicht.
Der Zweck dieser Schicht ist es, das Ansichtsmodell über die Aktion des Benutzers zu informieren.
Diese Schicht beobachtet das Ansichtsmodell und enthält keine Anwendungslogik.
Die Ansicht ist für die Darstellung und Präsentation der Daten für den Benutzer und die Erfassung der Benutzerinteraktionen verantwortlich.
Es entspricht dem, was der Benutzer sieht und mit der Anwendung im Kontext der mobilen Anwendung und der mobilen App-Entwicklung
interagiert.
Die Ansicht kann als die Komponenten der Benutzeroberfläche wie Schaltflächen, Textfelder, Bilder und Layoutstrukturen
betrachtet werden.
Ansichten werden in der Regel mit XML-Layout in Android oder XML, HTML, CSS in der Webentwicklung entworfen.
Die dritte Schicht ist das Ansichtsmodell.
Sie gibt die Datenströme frei, die für die Ansicht relevant sind.
Außerdem dient sie als Bindeglied zwischen dem Modell und der Ansicht.
Das Ansichtsmodell dient als Brücke zwischen dem Modell und der Ansicht.
Sie enthält die Präsentationslogik, verwaltet die Daten für die Anzeige und stellt die Daten der Ansicht in einem Format zur Verfügung,
das leicht gerendert werden kann.
Das Ansichtsmodell ist für die Umwandlung und Formatierung von Daten aus dem Modell in ein Formular verantwortlich, das in der Ansicht
angezeigt werden kann.
Außerdem verwaltet es die Benutzerinteraktionen und bereitet die Daten vor, die bei Aktualisierungen an das Modell zurückgesendet werden.
Das Ansichtsmodell hat keine direkte Kenntnis von der Ansicht.
Stattdessen stellt sie Daten und Methoden bereit, an die sich die Ansicht binden kann.
In Android wird das Ansichtsmodell oft als Klasse implementiert, die das Ansichtsmodell aus den Komponenten der Android-Architektur
erweitert. Es dient Konfigurationsänderungen wie Bildschirmdrehungen und hilft bei der Verwaltung der UI-bezogenen Daten.
In den vorangegangenen Abschnitten haben wir bereits über das View-Modell gesprochen.
Lassen Sie uns nun in Android Studio einsteigen und etwas über diese Schichten und die Mvvm-Architektur lernen.