Willkommen zurück.
Anstatt den Namen und die E-Mail an die Hauptaktivität zu senden, die dann einen Kontakt
erstellt und an die Datenbank sendet, verwenden wir die ViewModel-Instanz, die von der Aktivität Add new contact
an den Add new contact Click-Handler übergeben wurde, und fügen sie in unsere Datenbank ein.
Es besteht also keine Notwendigkeit, extra zu setzen, da diese Methode mit den Intents und put extra einige Fehler verursachen wird,
wenn die Hauptaktivität aufgerufen und gesendet wird und die Hauptaktivität die Datenbank einfügt.
Ich empfehle dies und zeige Ihnen einen besseren Ansatz.
Ich werde eine neue ViewModel-Instanz in der Aktivität "Neuen Kontakt hinzufügen" vor dem Handler erstellen.
Mein ViewModel, mein ViewModel entspricht einem neuen ViewModel-Anbieter und ich übergebe diesen als Eigentümer dot get
und hier muss ich meine ViewModel-Klasse hier bekommen.
Ich erhalte hier eine Instanz des ViewModel.
Ich übergebe es in meinen Ansichtsmodus.
Gehen wir zum Konstruktor dieses Add New Contact Handlers und erstellen wir mein ViewModel, mein ViewModel.
Warum ich das tue?
Warum ich mein ViewModel nicht direkt hier erstellen kann.
My ViewModel entspricht dem neuen my ViewModel Anbieter.
Und hier können Sie das nicht weitergeben, weil Sie eine Aktivität oder ein Fragment benötigen.
Und diese Klasse ist nicht von der appcompat oder eine Aktivität erweitern.
Dazu müssen Sie das ViewModel im Konstruktor übergeben und dann hier verwenden.
Verstehen Sie das?
Leute, ich möchte, dass ihr euch mit mir auf diese Idee konzentriert.
Ich ändere den Konstruktor und meine ViewModel-Instanz erstellen, nur um diesen Fehler zu lösen.
Denn wenn Sie ein My ViewModel erstellen, müssen Sie den ViewModel-Provider als ViewModel-Store-Eigentümer angeben,
und dieser wird ausschließlich von einer Aktivität oder einem Fragment übergeben.
Deshalb entferne ich diese Zeile und ändere hier den Konstruktor.
Mein ViewModel, dieser Punkt, mein ViewModel entspricht meinem ViewModel.
Jetzt wird mein ViewModel von der Aktivität "Neuen Kontakt hinzufügen" übergeben.
Ich werde dieses ViewModel verwenden, um die Informationen über den Namen und die E-Mail-Adresse des Kontakts einzufügen
und ein neues Kontaktobjekt zu erstellen.
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.
Ich muss diesen Kontakt mit ViewModel einfügen, mein ViewModel Punkt neuen Kontakt hinzufügen und ich werde passieren.
Wir sehen uns wieder, Leute.
Wenn Sie mit Viewmodels arbeiten, achten Sie bitte darauf, eine Instanz davon zu erstellen und diese an die Klassen zu übergeben,
die hier als Clickhandler fungieren.
Diese Klasse ist keine Erweiterung der appcompat-Aktivität, sie ist also eine normale Klasse und keine Aktivität.
Dies ist eine Aktivität.
So kann ich innerhalb der Aktivität ViewModel verwenden und Instanzen von ViewModel erstellen.
Ich gehe zu dieser Aktivität und nenne sie "Richard Richard at Gmail". Klicken Sie auf "Add contact to the database"
und los geht's.
Wir werden auf die Hauptaktivität verwiesen und Richard wird in unsere Datenbank aufgenommen.
Herzlichen Glückwunsch, Leute.
Es ist uns gelungen, Daten in unsere Datenbank einzufügen, indem wir eine Instanz meines ViewModel an den Konstruktor der Click Handler-Klasse
übergeben haben.