Transkripte
1. Einführung in den Kurs: Auch hier viele
Datenbankoptionen auf dem Foto, aber es ist nicht notwendig, dass wir immer Benutzer speichern möchten. Sie denken an den Server.
Es wird Szenarien in denen wir
die Daten lokal
auf dem Gerät des Benutzers speichern möchten ,
damit diese Informationen
schneller und bequemer
abgerufen werden können. Sobald ein solches Beispiel die Präferenz des
Benutzers für
Dark Mode oder Leitmotiv sein wird , viele Flame-Datenbanken. Aber unter ihnen war ich HIV. Hiv ist eine leichtgewichtige
Schlüssel-Wert-Datenbank, die mobile Desktop
- und Webplattformen
unterstützt. Wir können Daten von
primitiven Typen wie
Boolean Strings in komplexe
benutzerdefinierte Objekte speichern . In diesem Kurs werden wir
alles abdecken, was erforderlich ist,
um mit HIV zu beginnen. Wir werden Konzepte
wie die Durchführung von
Rohoperationen verstehen , was dieser Typ Anwender ist. Und schließlich erstellen Sie eine
grundlegende To-Do-Anwendung ,
damit wir
praktisch alles ausführen können , was
wir bisher gelernt haben. Verschwenden wir jetzt keine
Zeit mehr und rollen,
hoffe, Sie vor Gericht zu sehen.
2. Video 1 Einstieg in die Hive: Hallo. In diesem Modul werden wir über etwas in Ihnen sprechen, das HIV genannt wird. So ist HIV eine schnelle, leichte NoSQL-Datenbank für Florida und Papa Anwendung. Hiv ist wirklich hilfreich, wenn Sie
eine einfache Schlüssel-Wert-Datenbank ohne
zahlreiche Beziehungen benötigen eine einfache Schlüssel-Wert-Datenbank ohne und wirklich einfach zu bedienen sind. Es benötigt eine Offline, die Ws, was bedeutet, dass es Daten auf dem Gerät des Benutzers anstatt Silber wie Firebase speichert. Wenn wir also auf einige Daten in Firebase zugreifen müssen, dann brauchen wir natürlich eine Internetverbindung. Aber HIV wird auf dem Gerät des Benutzers gespeichert. Das heißt, er kann darauf zugreifen, wann immer Sie wollen, wo immer Sie wollen. Nicht überall, weil er nur auf seinem Gerät darauf zugreifen musste. Das ist also ein Nachteil, denn wenn sich der Benutzer mit Wikis-Konto in einem anderen Gerät anmeldet, wären die Daten nicht synchron. Also offensichtlich ist HIV für seine eigenen Zwecke verwendet und Sie werden es Schritt für Schritt verstehen. Nun stellt sich die Frage, warum HIV-Datenbank? Erstens ist es die effizienteste Datenbank in Bezug auf Geschwindigkeit und Leistung im Vergleich zu SQL-Flag und Shared Preference, sie sind auch Offline-Datenbanken. Also, wenn im Vergleich zu denen mit es ist schneller. Der zweite Vorteil ist, dass es
eine einfache Möglichkeit bietet , die grundlegenden Rohd-Operationen durchzuführen. Sie müssen also nicht viele Dinge lernen, die Syntax sehr einfach sind. Und die dritte ist, da es keine nativen Abhängigkeiten von Ihren Daten gibt. So kann es leicht für Handy, Desktop und Browser verwendet werden. So high wird auch von allen anderen Plattformen unterstützt. Also genug, denke ich für die Curie, sollten
wir direkt in diese Technologie selbst eintauchen. Dafür, Lassen Sie uns ein neues Flatter-Projekt erstellen. Gehen Sie zum Verzeichnis, dann, bringen Sie ihre Befehlszeile heraus und erstellen Sie einfach Flut. Erstellen Sie eine Datenbank. Okay. Jetzt können Sie sehen, dass das Projekt erstellt wurde. Bringen Sie VS-Code heraus und fügen Sie das Projekt hier an. Fügen Sie einfach Ordner, Struktur, Datenbank an, wie folgt. Summe. Bevor ich es im Debug-Modus sende, möchte
ich die erforderlichen Abhängigkeiten hinzufügen. So gehen Sie zu einem Chrome-Browser. Und hier in der Kneipe Dot taub ersten Typ. Dann müssen Sie einfach die Abhängigkeiten kopieren. Jetzt gehen wir und gehen Sie zu Datei und eingefügt. Zweitens ist HIV flacher. Daher ist es erforderlich, die Datenbank in Florida zu implementieren. Und vorher können Sie auch gehen und HIV-Dokumentation überprüfen, wenn Sie wollen. Sehen Sie hier, hier ist Wasser erwähnt, dass Abhängigkeiten o sind, wie es gemacht wird. Das Gleiche. Ich werde Ihnen alles auf einfachere Weise erklären. Und diese dritte Abhängigkeit ist nur Provider. Dann geh und installiere es. Okay. Jetzt, da drei Abhängigkeiten installiert werden. Ubuntu Main.Jack. Stellen Sie sicher, dass Ihr Emulator läuft und klicken Sie einfach auf Debugging starten. Es wird definitiv einige Minuten dauern, abhängig von Ihrem System. Wie immer. Ich möchte Ihnen erklären, warum wir diesen Teileanbieter nutzen. So Teileanbieter wird verwendet, um diese Anwendungen zum Speichern von Daten an den Speicherort zu bringen. Das heißt, wie ich bereits erwähnt habe, dass diese Daten auf dem Gerät des Benutzers gespeichert werden. Wir werden diese Daten also an derselben Stelle speichern. Unsere Hive-Datenbank-Projektanwendung
, also diese Android-Anwendung auf iOS-Anwendung wird installiert. Denken Sie daran. Jetzt. Wenn Sie möchten, können
Sie nun alle Abhängigkeiten auschecken. Lesen Sie mich Abschnitt und erfahren Sie mehr darüber, warum wir HIV verwenden. Ich werde nur noch ein paar Sekunden warten, damit unser Projekt läuft. Bis dahin. Ich würde Ihnen auch ein Beispiel für Vektor v geben würde die Hive-Daten mit vermuten, in Einstellungen wie dunklen Modus Papa verwenden, wenn Sie einige Aktivierung Gate verwendet haben, ist etwas namens dunklen Modus oder Nachtmodus. So Dosispräferenz tat ist diese Benutzerpräferenzen. Wir können es speichern, sagen wir, Benutzer eigenes Gerät. Das heißt, ob der dunkle Modus wahr oder falsch ist, auch das, was ist die Benutzer-ID des Benutzers? Wir können es einfach in der Hive-Datenbank tun, so dass es leicht verwendet werden kann. Zahlreiche Beispiele. Aber ich denke, mehr und mehr werden Sie verstehen, wenn wir Projekte erstellen. Augenblick liegt unser Fokus darauf, sicherzustellen, dass wir die Grundkonzepte richtig verstehen. Wie immer. Es braucht ein bisschen mehr Zeit. dann nicht ich möchte Ihnen den nächsten Schritt unserer Implementierung zeigen. Der nächste Schritt besteht darin, zu initialisieren. Hier können Sie einfach das Verstecken initialisieren. Im Abschnitt. Das heißt, bevor unsere Anwendung läuft. Wir müssen sicherstellen, dass unser HIV-Code initialisiert wird. Okay? Sie können sehen, unsere Anwendung ist im
Begriff, über in unserem Emulator installiert werden. Es dauert immer ein bisschen Zeit. Okay, sehen Sie, das Projekt ist fertig. Jetzt ist es an der Zeit, HIV zu initialisieren. Also müssen wir zum Hauptpunkt,
Punkt in der Hauptfunktion gehen , es
einfach zu einer Spüle machen. Dann, wie wir wissen, wenn wir etwas initialisieren wollen, bevor die App läuft, müssen
wir diese Codezeile schreiben, Widget, Flip-Datenbindung bekommen initialisiert. Dann wäre das zweite nicht, dass direkt, wo Daten gespeichert werden. Warte, hol die Anwendung. Dokumente, ein Verzeichnis wie dieses. Dies kommt von aber Provider. Und dieses Verzeichnis stammt von diesem Daten-EO. Nun zweiter, der nächste Schritt ist, HIV,
HIV dot init und dann Rucksack zu initialisieren . Und das Beißen ist unser Verzeichnis Dotplot. Das war's. Auf diese Weise wird die Initialisierung durchgeführt. Nun das nächste, was ich würde, würde
ich gerne diskutieren, ist das Konzept der Boxen. Hiv speichert seine Daten in Feldern, die t-Wertsätze enthalten. Bevor Sie Daten lesen oder erstellen können, sollte
eine Box geöffnet werden. Boxen können wir mit einem Gewicht anhängen, mit nur einer grundlegenden Syntax wie HIV dot append box. Alles, was Daten in der Höhe gespeichert werden, sind organisierte Posteingänge. Also werde ich Ihnen nur ein Beispiel geben. Nehmen wir an, in unseren Tabellen, das heißt, wenn wir eine Datenbank haben, SQL-Datenbank, gibt es ein Konzept namens Kieselsteine. Und als wir Firebase benutzten
, hatten wir das Konzept der Sammlung. So Bein, dass nur Sie eine Box vergleichen können. Denken Sie daran, eine Box hat keine strukturierte und kann alles enthalten. Also musst du dich daran einfach so erinnern. Und 40 reale Beispiel, Ich werde sagen, ein Feld eines Benutzers oder das Einstellungsfeld, sind diese gesendeten Nachrichten Box, wenn Sie möchten, können Sie erstellen. Lassen Sie uns jetzt unsere erste Box erstellen. Wie ich bereits sagte, können
Sie Ihre Bücher verwenden, Sie müssen es anhängen und auch einen Namen geben. Verstehen Sie es einfach als Datenbanknamen. Dadurch werden alle Daten aus dem lokalen Speicher für den sofortigen Zugriff in den Hauptspeicher geladen. Also, hier, wenn ich gehe und schreibe
HIV, HIV Dot anhängen Box, so habe ich einfach ihre Box angehängt. Und danach führe ich meine Anwendung aus. auch daran, dass es nicht zwingend erforderlich ist, ein Feld in der Hauptdatei anzuhängen. Sie können es überall tun. Denken Sie daran, eine Datei anzuhängen, dies in eine Box am Anfang und nach Lassen Sie es verwenden. Und unsere App zeigt momentan auch keinen Editor. Es ist also eine gute Sache. Unter Plugins funktionieren perfekt. Also lassen Sie uns jetzt unseren ersten Bildschirm erstellen. Gehen Sie zum lib-Ordner und erstellen Sie eine Datei. Nennen Sie es Startbildschirm, Punkt-Punkt-Punkt. Okay. Importieren Sie jetzt Material. Dann ein stateful Widget, nennen Sie es Startbildschirm. Dann als wirklich Dennis Gerüst, diese AB-Bar. Ich würde ihm einen Text geben. Hive DB. Dann im Körper, lasst uns einen Behälter haben. Und dieser Container würde ich ihm die Breite der Gerätebreite geben ,
die dieses Medium abfragt, dass Kontexte, die diese Breite besagt. Und glänzen. Ich würde ihm eine Spalte geben. Jetzt würde ich einfach eine Benutzeroberfläche erstellen, die uns hilft, diese Crud-Operationen zu verstehen. Erstellen, lesen, aktualisieren, löschen, tun Sie diese Spalte. Ich werde ihnen Zugriff Ausrichtung S und desolate unter Widgets werden zentriert. Innerhalb dieser Kinder. Ich werde erhöhte Tasten, beleuchtete Tasten erstellen. So
wird der erste Knopf 38. Dann kopiere ich es einfach und füge es mehrmals so ein. Und dann zweiter, ich mag es lesen. Ich werde Update und für nicht verwandte schreiben. So speichern Sie es jetzt und gehen Sie zum Hauptpunkt Punkt. Und in meinem App-Widget, entfernen Sie
einfach alles unten. Hier ist meine Homepage und wir wissen, dass wir sie nicht brauchen Boilerplate Codes. Und in der Home-Eigenschaft, werde ich Home-Bildschirm schreiben, das ist unser eigener Home-Bildschirm, und dann neu starten. Mal sehen. Unsere Ausgabe ist also hier. Wir haben Alda für Knöpfe. So wird
es definitiv wie jede andere Datenbank grobe Operationen in HIV geben, die wir in den kommenden Videos besprechen werden. Danke.
3. Video 2: Also haben wir den IQR des Kreditantrags bereit. Aber bevor ich alle Funktionalitäten implementiere, möchte
ich die HIV-Methoden diskutieren und verstehen. Denn theoretisch sollten wir auch wissen, was sind die verschiedenen, verschiedene Funktionalitäten Hive Datenbank gibt uns. Also zuerst ist aufstehen Posteingang. Also im letzten Video haben
wir begonnen oder wir haben eine neue Box mit ihrem Namen aus Freund initialisiert. Also offensichtlich, wenn wir brauchen, wenn wir
diese Box oder die Ws in ihren späteren Bildschirmen brauchen , ob es detaillierte Bildschirme oder wo auch immer. So müssen wir es nicht wieder anhängen, um Daten zu speichern oder abzurufen. Hiv speichert einen Verweis auf alle Anfügefelder. Wenn wir wollen, um sie alle bereit, anhängen Box, können wir, dass unten Syntax verwenden. Also hier können Sie sehen, var Box ist gleich HIV Punkt Box und der Box-Name, in unserem Fall wird es Box sein, nämlich befriend. So ähnlich, wenn eine Box geöffnet ist, können wir,
wenn wir wollen, auch eine Box schließen. Also, wenn Sie die Box nicht brauchen, wieder, machen Sie es verlieren. Ich werde Schlüssel und Werte der Box werden aus dem Speicher gelöscht werden. Und die Box-Datei ist geschlossen. Nachdem unsere aktiven Lese- und Schreibvorgänge abgeschlossen sind. auch daran, dass es vollkommen in Ordnung ist, eine Box anhängen Ordner zu lassen, führen Sie die App aus. Wenn Sie in Zukunft wieder eine Box benötigen, lassen Sie sie
einfach offen. In einfachen Worten, nehmen wir an, wir haben nur einen Bildschirm, der diese Box vor Mission verwenden wird. Auf diesem Bildschirm können Sie es entsorgen, da diese Box nicht von anderen Bildschirmen verwendet wird. Aber wenn diese Informationen anwendungsweise verwendet wird, ist
es in älteren Seiten sind in den meisten der Seiten,
die ich dann denke ich, es ist nicht ratsam, die Box zu schließen. Denken Sie daran, Sie müssen die Box in diesem entsorgt meine Zentrale stateful Widget schließen. Und die Syntax ist HIV dot close. Oder wenn Sie eine bestimmte Box schließen möchten, weil HIV Punkt schließen wird auf den Boxen geschlossen. Aber wenn Sie nur diesen Freund gehen schließen wollen, können
Sie einfach direkt Bach HIV Dot Box schreiben, dann die Box Name Punkt Hinweise so. Nun, nachdem die Box geöffnet ist, müssen
wir Daten darin einfügen? Wenn Sie also Daten speichern müssen, können
Sie den Verweis auf die HIV-Box verwenden und meine 10 darauf legen. Diese Methode akzeptiert ein Schlüssel-Wert-Paar. Also hier können Sie Box Punkt Ausgabe sehen, und dann Schlüssel ist Name, und Wert ist John. So fügen wir Daten ein. Nun unterstützt HIV auch Ganzzahlschlüssel, so dass Sie automatisch inkrementierende Schlüssel verwenden können. In. Dies kann nützlich sein, wenn Sie mehrere Werte
ähnlich wie eine Liste speichern und von ihren Indizes abrufen. Das sind Indizes. Du kannst Bein lagern. Das ist, das ist die Syntax. Sie können Box Punkt direkt reduzieren und ich legte Person setzen. Und jetzt ist dies Add und es wird diesen Wert in diesem Index ab 0 speichern. So können Sie es einfach wie eine Karte und eine Liste sehen. Dies ist ein sehr gutes Beispiel, da HIV auch diese Datentypen verwendet. Gelächter Einfügung von Daten, wir müssen auch die Daten abrufen. Um Daten zu lesen, können Sie diese GetMethod für das Box-Objekt verwenden. Sie müssen nur den Geeky bereitstellen, um seinen Wert abzurufen. Wie var, Name ist, wir werden Box Dot tun, bekommen und dann Namen. Und wie Sie sehen können, ist
Name der Schlüssel der Daten. So können Sie Informationen aus der Hive-Datenbank abrufen. Jetzt ist das nächste, was wichtig ist, die Aktualisierung von Daten. Um diese Daten eines bestimmten Schlüssels zu aktualisieren, können
wir die gleiche PUT-Methode verwenden, die wir ursprünglich verwendet, um den Wert zu speichern. Dadurch wird der vorhandene Schlüssel mit dem neu bereitgestellten Wert aktualisiert. Also ich Schicht verwenden wir Box Punkt setzen Name ist John. Jetzt können wir direkt Box Punktnamen verwenden wird zu machen. Und dieser vorherige Wert wird überschrieben. In ähnlicher Weise, wenn Sie automatische Inkrementwerte verwenden, wir können, dass bei meinem setzen 10 für ein Bieten ihren Wert innerhalb dieses bestimmten Index vorhanden. Sie können sehen, Box Punkt auf 0 Position gesetzt, Jennifer. So aktualisieren wir Daten in einer Datenbank. Eine andere Last Mile, die sehr wichtig ist, ist das Löschen von Daten. Zum Löschen der Daten, können wir die Löschmethode verwenden, indem Sie
diesen Schlüssel zur Verfügung stellen oder löschen durch die Bereitstellung dieses Index zugelassen. Es liegt also an uns, was wir sind, wie wir diese Daten in der Hive-Box speichern. Wenn wir dieses Schlüssel-Wert-Paar verwenden, dann können wir direkt schreiben Box Dot Delete und dieser Schlüssel wird benannt. Und wenn wir Index verwenden, dann können wir es oben schreiben. Starten Sie das Löschen an der Position 0. Das ist also diese Theorie oder macht die nächste von diesem Cred, so können wir diesen Cred durchführen. Und wie ich sage, HIV ist sehr einfach, weil Sie alle Schlüsselwörter sehen können, sind die Methoden einfach. Box dot get, Box dot, setzen, Moore, Punkt, Löschen. Das sind also nicht so komplexe Dinge, an die man sich erinnern muss. Das war's also. Für dieses Video. Im nächsten Video werden
wir Alda-Konzepte umsetzen, die wir hier praktisch verstanden haben. Vielen Dank.
4. Video 3: Hi. Jetzt kennen wir also alle Konzepte, die für die Durchführung von Crud-Operationen
in HIV erforderlich sind und haben auch diese wirklich grundlegende Benutzeroberfläche erstellt. Für den gleichen Zweck. Lassen Sie uns HIV-Methoden in unserem Home-Bildschirm implementieren. Also gehen Sie zu Home-Bildschirm Punkt, Punkt. Und hier, lassen Sie uns einige Variablen erstellen. Und das erste, was ich tun würde, ist die Append-Box zu bekommen. Das heißt, erhalten Sie die Referenz dieses Kastens. Also werde ich es einfach nennen. Friend Box ist gleich HIV. Hiv-Punkt-Box und nennen Sie es. Und dann war der Name ein Freund. Also müssen wir den gleichen Namen der Box verwenden. Und danach wird die zweite eine Zeichenfolge sein, die auch null sein kann. Und ich werde schreiben, der Variablenname ist Name. Dies wird der Name des Freundes sein, der in diesem Feld gespeichert ist. Jetzt lassen Sie uns einige Methoden wie und Freund erstellen. Machen Sie es synchron. Dann zweite Methode wird Freund werden. Drittens wird der Freund und her sein, wenn wir Freund löschen. Okay, das sind also mein Bleistift erworben. Nun, was ich will, ist, wenn ein, wenn wir auf diese erstellen klicken, dieser Add Freund ausgeführt wird und ein Wert in diesem Feld gespeichert wird. Also werde ich einfach schreiben ein Gewicht Freund Box Punkt setzen. Also für das Einfügen von Daten wir, Ich verwende Put, weil ich ihm einen Schlüssel geben wird, wenn Schlüssel Name
sein wird und wo Sie Bill Gates sein werden. Ok? Jetzt haben wir einen Freund hinzugefügt. Wenn ein Benutzer auf diesen Lesezugriff klickt, möchte ich, dass dieser get friend ausgeführt wird. N, speichern Sie diese Daten im Inneren. Dann benennen Sie die Variable. Dafür muss ich schreiben. Name ist gleich Freund Box dot get, und dieser Schlüssel wird benannt. Also für die frühen, wie wir besprochen haben, müssen
wir diesen Punkt verwenden, mein Tag holen. Und was ich tun werde, ist, sobald diese Variable ist, dass Daten in dieser Variablen gespeichert werden, ich werde diesen Zustand so einstellen, dass die UA gerendert
wird und dann die Namensvariable in diesem Bildschirm angezeigt werden kann. Jetzt für den Update-Frame, werde
ich einfach schreiben warten Freund Box. Setzen Sie diesen Schlüsselnamen ein. Ich werde Elon Musk schreiben. Das war's. Aber das ist, wie wir aktualisieren. Und einfach für die Schöpfkelle, so werde ich einen tollen Freund Box Dot Delete schreiben, und Schlüssel heißt. Also erwähnten wir, dass ein Schlüssel hier bei diesem Add Friend Funktion. Und danach benutzten wir nur diesen Schlüssel, um entweder ein Devaluierungs-Update zu erhalten oder den Datenwert zu löschen. So haben wir unsere Funktionen Ready ist Zeit v. Stellen Sie sicher
, dass diese von diesem Connect-Knopf ausgeführt werden. Das ist, wenn wir den Beton schaffen, sollte
es denken, sollte ausgeführt werden. Wir fügen Freund hinzu. Dann. Zweitens ist Freund bekommen
, der ausgeführt werden sollte. Wenn Redis auf Freund aktualisieren klicken. So wie das. Und Essen ist löschen Freund. So sind Schaltflächen jetzt mit diesen Funktionen verbunden. Es ist Zeit. Ich werde ihn Text ganz oben zeigen, wie Text. Und hier einfach Variable genannt. Lassen Sie uns jetzt neu starten und überprüfen, ob alles gut funktioniert. R-Naught, unsere Cloud-Anwendung ist bereit zum Testen. Sehen Sie also ganz am Anfang, Don name key hat einen Nullwert. Wenn ich nun auf diese Schaltfläche „Erstellen“ klicke, was sollte Cent haben? Der Name Bill Gates sollte in dieser Namensvariable gespeichert werden, die Schlüssel benannt ist. Nun, wenn ich auf Lesen klicke, dass es mit dem Namen aktualisiert werden muss. Mal sehen. Sie können nachsehen. Das funktioniert einwandfrei. Bill Gates ist da. Nun, wenn ich auf Update klicke, sollte
es zu Elon Musk geändert werden. Wenn ich darauf klicke und dann auf Lesen klicke, siehe, Elon Musk ist da. Das bedeutet, dass wir bekommen, wird mit Elon Musk aktualisiert. Und schließlich, wenn ich auf Löschen klicke, diese Daten gelöscht und wenn ich auf Lesen klicke, wird
es wieder null angezeigt. So funktionieren HIV-Crud-Operationen. Und diese Datenbank wurde nur auf dem Gerät des Benutzers installiert. Das war's also für dieses Video. In den kommenden Videos werden
wir mehr über HIV und seine anderen Funktionen sprechen. Danke.
5. Video 4 Konzept von Typ-: Herzlich willkommen. In dieser Sitzung werden wir über das Konzept der Typadapter sprechen. Hiv erlaubt es uns, die meisten Standardtypen zu speichern. Das ist eine Zeichenfolge in der digitalen Karte, am wenigsten der Tank. Jetzt, wenn wir reale Anwendungen erstellen, werden
wir modale Klasse für unsere Daten haben, da dies die Entwicklung viel einfacher und schneller macht. Die Verzögerungen dieses Modells Arten müssen wir Typadapter verwenden,
die Ursachen sind, was hilft, unsere Daten in binäre Form zu codieren und zu entschlüsseln. Auf unserem Schreibtisch. Typ-Adapter können manuell geschrieben werden, werden automatisch generiert. Es ist immer besser, die Codegenerierung zu verwenden die erforderlichen Methoden zu
generieren, da es hilft, Fehler zu vermeiden, die auftreten können, während wir diesen Code manuell schreiben. Wir werden es erzeugen, indem HIV-Generator und Wildnis in dieser Entwicklerabhängigkeiten in Pub Spezifikation diese YAML-Datei hinzufügen. Also bringen Sie Ihren Chrome heraus. Und hier, schreiben Sie einfach. Dies ist, wie Sie sehen können, Janet Schritteditoren Adapter, um jede Klasse zu speichern. Ist Kopie. Und geh in den Jemen. Entschuldigung, innerhalb von
Dev-Abhängigkeiten wie diese. Und zweitens ist ein Läufer zu bauen. Kopieren Sie es einfach und installieren Sie es in diesen Dev-Abhängigkeiten. Denken Sie daran, nicht Interdependenzen, weil dies nur für den Entwicklungszweck ist. Jetzt, okay? Wir haben die Abhängigkeiten in Stein. Jetzt, wie ich sage, braucht
V modale Klasse. Also würde ich, Ich werde von nun an eine To-Do-Anwendung erstellen, so dass wir Hive-Datenbank besser
verstehen können , als annehmen, dass diese heutigen To-Dos-Daten nicht erforderlich sind, um auf dem Server zu speichern. Diese sind nur für das Gerät des Benutzers persönlich. Innerhalb lib Ordner, erstellen Sie einfach eine Datei namens todo dot, dot, dot. Und hier, lassen Sie uns eine Klasse erstellen, die aufgerufen wird, zu tun. Dann. Es hatte keinen Titel und wurde vervollständigt oder nicht. Und das sollte jetzt den Konstruktor erstellen. Und dieser Punkt-Punkt-Punkt. Dies ist abgeschlossen. So haben wir unsere modale Klasse bereit ist. Es ist Zeit, dass wir Adapter für diese Klasse generieren. Das HIV-Genom-Paket kann automatisch
Adapter für jede Klasse wie diese generieren , unsere Klasse. Es gibt nur wenige Schritte dafür. Erster Schritt, um es zu generieren, geben Sie, ihre Lieblings-Klasse. Ich notiere es mit HIV-Typ und gebe eine Typ-ID an. Der zweite Schritt ist ein hinzugefügtes alle Felder. Das heißt, diese Felder, die mit
HIV-Füllung und unermüdlichen Lauf Gürtel US-Schulden gespeichert werden sollte , gibt es einen Befehl, den wir verwenden müssen, so dass es automatisch eine Adapterklasse für sie zu bauen. Und der vierte Schritt besteht darin, den generierten Adapter zu registrieren. So. Fangen wir an, es zu tun. Fangen wir an. Ich weiß, dass sie die Modellklasse nicht gestoppt haben, um Codegenerierung zu verwenden. Einfach. Das erste, was wir tun müssen, ist Import. Dann hier haben wir heute Typ- und Typ-ID, geben Sie ihm
einfach eine. Dann innerhalb der Felder
haben wir gescheitert und dann nur 0 indiziert. Dann ähnlich hier, HIV, Index eins. Auf diese Weise sind
unsere ersten beiden Schritte erledigt. Das ist ein hinzugefügt der Hive-Typ und geben Sie eine Typ-ID. Und zweitens sind kommentierte Alphas, die mit hohem Feld gespeichert werden sollten. Jetzt 30s. dritte Schritt ist einfach bringen Sie Ihr Terminal und Typ. Und davor müssen Sie diesen Code auch schreiben. Aber dann im Inneren schreiben Sie den Namen
dieser Klasse, die diese todo Punkt, Punkt, Punkt. Dies wird also automatisch generiert, wenn wir diesen Befehl schreiben,
der das Terminal unddas
rechte
Flutter-Paketeherausbringt der das Terminal und rechte
Flutter-Pakete Flutter-Pakete und die Eingabetaste drückt. Mal sehen, ob es funktioniert oder nicht. Weil ich es nicht weiß. Möglicherweise müssen wir das Debuggen beenden und neu starten. Es wird direkt funktionieren, weil wir einige neue Abhängigkeiten installiert haben. Nehmen wir an, das funktioniert, ich denke, dass etwas in der Konsole angezeigt wird. Siehst du, es ist erledigt. Unser Adapter wird erlernt, oder Sie können sagen, es wird automatisch hier gebaut, dieser todo Punkt, Punkt, Punkt. Und denken Sie daran, dies ist der Adapter und wir müssen nichts in init ändern. Und dieser Punkt g,
g bedeutet, als typischerweise unseren Janet-Adapter für diese Klasse zu transformieren. So ist es, wie wir, wie wir benutzerdefinierte Klassendaten verwenden. Und wir stellen sicher, dass unser wie wäre es mit einem Bienenstock auch diese Klassen unterstützt. Hier benutze ich diese Todo-Klasse. Jetzt endlich, all die Schritte, die ich getan habe, ist
es Zeit, dass wir diesen Adapter registrieren. Alle diese Codes erzeugen also einen Adapter namens Todo Adapter. Hier können Sie gehen und sehen Sie diesen Adapter. Und Sie sollten diesen Typ-Adapter registrieren, bevor Sie die Box öffnen. Das ist mit beiden Weisen, es wird einen Fehler erzeugen. Da wir nur eine einzige Box verwenden. Und du siehst, dass ich diese Freundesbox benutze. Aber im Moment möchte ich zuerst den Adapter hier registrieren. Und das mit diesem Code
, den Sie überprüfen können, warum es nicht funktioniert. Das Register, dass Percy. Und innerhalb dieser App, die ich möchte, würde
ich einfach Adapter Magnus schreiben. Und danach werde ich eine neue Box anhängen. Breite. Zu tun. Das heißt, dieses Feld enthält nur zwei Daten. Ich werde einfach Box anhängen und es benennen. Ich werde einfach schreiben. Mal sehen. Lasst uns retten. Und wenn kein Fehler tot ist und es richtig funktioniert hat. Ok? So haben wir auch unsere adaptive erfolgreich registriert. Jetzt in dieser Datenbank, die zu tun ist Box, werden
alle Daten gespeichert werden. Von diesem Objekt ist todo Objekt früher war es wie Schlüsselwert, das JSON-Format ist, dass es jetzt anders sein wird. Das war's also für dieses Video. Im kommenden Video werde ich eine grundlegende To-Do-Anwendung mit Flattern und HIV erstellen. Danke.
6. Video 5 Erstelle eine a: Hey, willkommen zurück. So haben
wir im letzten Video erfolgreich den Adapter für unsere Todo-Klasse erstellt. Aber jetzt ist es Zeit, an der vollständigen Todo-Anwendung zu arbeiten. Weit, dass Lassen Sie uns zu diesem Ordner gehen und eine neue Datei erstellen und benennen Sie es, fügen Sie to-do Punkt Punkt. Also im Grunde wird dieser Bildschirm verwendet, um es zu neuen Volumenkörpern hinzuzufügen. Offensichtlich, wenn wir einige Daten in der Datenbank haben, dann können nur wir diese To-do-Elemente abrufen. Also erster Schritt besteht darin, einen Bildschirm zu erstellen, so dass ein Benutzer
sein To-Do-Element eingeben und es dann auf die Feuerbasis hochladen kann . Importieren Sie wie immer ein Materialpaket. Dann ein staatenloser Bildschirm. Ich werde, Ich werde einen Namen erstellen, um es zu tun. Jetzt machen Sie es ein Gerüst dann in der App zurückgeben, aber nur Bus gegeben, so dass ich einen Zurück-Button haben kann. Das war's. Nun, in diesem Körper,
mein Plan ist es, es
Textfeld zu behalten , wo der Benutzer einen Submit-Button eingibt, das war's. Also werde ich mit abhängig beginnen, weil ich weiß, dass ich einige Abstände von
allen Seiten brauche und es tatsächlich diesem geben muss. Denken Sie daran, wenn Sie eine Menge Anwendung bauen, wissen
Sie, dass eine weit von On-Demand-Sites, benötigen
Sie einige Abstände. Deshalb können Sie es auch ganz am Anfang tun. Jetzt im Kind werde ich eine Spalte auf dem Spaltenelement haben sollte zentriert sein. Also werde ich Haupt existieren Ausrichtung Punkt Mitte machen. Dann hätten wir unsere Kinder nicht. Bevor ich jetzt schreibe, was in Chamberlain ist, gehen
wir zum Startbildschirm. So dass wir hier eine schwebende Action-Schaltfläche haben,
die, wenn Sie zu diesem hinzufügen, um Bildschirm navigieren. Auch alle vorherigen Codes Bein dies, die ich gerade geschrieben, um zu erklären, dass cred Operationen. Ich möchte es entfernen, weil ich dies in dieser To-Do-Anwendung nicht möchte. Jetzt. Haben Sie einfach eine schwebende Aktionstaste und haben eine schwebende Aktionstaste wie diese. Das Kind wird es sein. Ich kann, ich kann hinzufügen. Und wir haben uns nicht entstuft. Ich würde einfach Navigator-Punkt-Push-Material schreiben, es ausblättern. Dass aus werden wir unseren Kontext haben und einen Bildschirm wie diesen hinzufügen. Speichern Sie es. Und im ambulanten sehen kann ich nur nennen es HIV. Tun Sie diesen Titel
des Bildschirms so. Höhle. Nun, wenn ich darauf klicke, sehen wir haben einen leeren Bildschirm und das ist unsere Zurück-Taste. Gehen wir nun zum Bildschirm Hinzufügen, um zu tun. Und wir haben diese Kinder nicht gemacht. Ich hätte, wenn ich ein Lehrbuch hätte, würde
ich einen Textbearbeitungscontroller erstellen. Zunächst ist intime Detail-Controller gleich dx Editing-Controller. So wie das. Und auch, da wir bereits unsere Box in den Hauptpunkt-Punkt-Punkt angehängt haben, ist diese To-Do-Box. Ich würde nur die Append-Box bekommen. Also haben wir gerade „Box“ gesagt. Box ist gleich. Hi, Box. Und nennen Sie es explodiert. Das heißt, sein Name wurde getan. Und es wird los sein, solche Daten zu machen. Nun, lassen Sie uns gehen, dass Kinder, lassen Sie uns unser erstes Textfeld erstellen. Controller wird Titel-Controller sein. Dekoration wird in guter Kuration sein. Und geben Sie einfach beschrifteten Text als Pena. Und als Umriss Puder wie dieses. Speichern wir es und überprüfen Sie es. Sehen Sie, wir haben unser Titel-Textfeld hinter dem Deck. Also werde ich einige Abstände mit Größenfunken geben, erhöht, geben 30. Dann würde ich eine Schaltfläche mit dem Container als Höhe erstellen. Ich würde ihm 50 geben. Wenn ich das Gerät geben würde, wenn das Doppelpunkt-Unendlichkeit ist. Wenn ich ihm einen befreiten Knopf geben würde. Und in diesem Text würde
ich nur sagen, fügen Sie Blau hinzu und geben Sie ihm etwas Styling zu diesem Text. Das ist vor allem die Schriftgröße, die wir gut machen werden. Speichern wir es und überprüfen Sie es. Sehen Sie die Benutzeroberfläche auf dem Bildschirm ist in Ordnung. Jetzt ist es an der Zeit. Wir arbeiten an der Drucktaste, so dass jeder Text innerhalb des stationären Controllers ist, oder Sie können auch sagen, welcher Text der Benutzer geschrieben hat, gespeichert wird. Zuallererst wird es in ein Todo-Objekt konvertiert, das ist dieser Typ zu tun. Und dann, nachdem es in der Bienenbox gespeichert wird. Drücken Sie einfach die Funktion. Ich würde zuerst überprüfen, ob dieser Elementcontroller nicht kein Punkt txt ist, der nicht gleich NP ist, und dann diesen Code ausführen. Also zuerst würde
ich ein neues Objekt erstellen. Ein neues Blau ist gleich zwei, so. Und drinnen. Für den Titel würde ich Detailcontroller Punkttext schreiben. Und jetzt für den Osten abgeschlossen, dass der Standardwert, werden wir Schriften besuchen. Da es sich um ein neues To-Do-Element handelt. Nachdem dieses Objekt erstellt wurde, würde
ich einfach diese To-Do-Box nehmen. Das ist der hohe Vaux und rechte Punkt, hinzufügen und senden und gab ihm diesen To-Do-Wert. Wie wir bereits hier getan haben, dieser Typ Todo-Klasse, wird
es nur akzeptieren, dass Sie Datentyp tun. Und dieser Punkt n bedeutet, dass es keinen Schlüssel geben wird. Es wird im Index gespeichert. Das heißt, nehmen wir an, es ist eine Art Liste, so dass es im 0 Index gespeichert wird, da es keine Elemente gibt. Und danach würde ich einfach vom Bildschirm herausspringen. Das war's. Geh und sieh es dir an. Wir klicken auf diese Add zu tun. Und ich würde einfach schreiben gelernt Provider State Management, okay? So wie das. Und klicken Sie auf Hinzufügen, um zu tun. Und sehen Sie, dass wir hinausgefahren sind. Aber wir können nicht sehen, ob wir die Aufgaben nicht abgerufen haben, also können wir, wir sind nicht sicher, ob die Identität richtig gespeichert wird oder nicht. Also lasst uns auch an diesem Abruf arbeiten. Und der Startbildschirm wird für die Anzeige der in der Höhe gespeicherten Daten verantwortlich sein. Grundsätzlich werden wir die Lesevorgänge hier implementieren. Schmeichelhaft, stellen Sie uns einen starren namens Wert listenable Builder bereit, der nur aktualisiert wird, wenn ein Wert innerhalb dieser angegebenen Datenbank oder dieser Sammlung geändert wird. Mal sehen. Du wirst verstehen, was ich damit meine. Zunächst würde ich eine Box-Instanz erstellen, die Toolbox ist ein Aufruf von HIV ist. Keine Schachtel. Und geben Sie ihm einen Datentyp. Das war's. Nun, im Körper, würde
ich Wert hörbaren Builder schreiben, diesen. Es hat also zwei Parameter. Der erste ist ein wertloser Nachbar, das ist der Wert, den er zuhören muss. Und ich möchte einfach tun, das ist dieser Box-Dot hörbar, aber dieser Listener war, meiner Reihe nach, ist nur in High Flattern Paket verfügbar, also müssen wir es
importieren, HIV hier dritte importieren, und dann hohes Flattern wie diese und sehen das hinzugefügte ist weg. Man muss sich also daran erinnern, dass dot listenable im high flater Paket verfügbar ist. Was bedeutet dieser Code? Also, in einfachen Worten, wenn sich etwas in dieser To-Do-Box ändert, wird
dieses Widget neu erstellt. Wieder, so einfach wie das. So können Sie auch verstehen, dass, wenn sich etwas ändert, der Set-Status aufgerufen wird. Dies ist ein sehr begrenztes Beispiel, aber ich möchte nur, dass Sie das Konzept verstehen. Der Builder ist eine Funktion, die erste Sache Kontext hat. Zweitens ist eine Box, das ist Net To-Do-Box. Und drittens ist ein Widget. Wenn wir uns nicht mit diesem Talks-Parameter befassen, werden
wir diesen nur verwenden. Die erste, würde ich nur überprüfen, ob das Feld leer ist. Das ist kein do eingefügt worden. In diesem Fall ist einfach zurück. Einfach einen Besuch im Zentrum zurückgeben. Wir nehmen ein Kind. Das ist ein Text, neu, Todo, so. Und nehme an, dunkle Box ist nicht leer. In diesem Fall würden wir ein Widget ausgeben, das ein ListView-Builder ist. Und geben Sie einfach eine Listenansicht zurück. Da es in diesem HIV gespeichert ist, ist in Form einer Liste. Jetzt wird die Artikelanzahl Box Punktlänge sein. Das ist dieses, was auch diese Box bedeutet. Aber wir werden dies verwenden, wenn wir diesem Baumeister zuhören. Und in der Artikelwickler, Wir werden Kontexte und Index mieten. Jetzt drin, seit in dieser blauen Box, unsere Daten. Um Datentyp zu tun, das ist todo Objekt. Ich würde es einfach in einer Variablen aufschreiben. Um dies zu tun, verwenden Sie den Box-Punkt, erhalten Sie einen Index. Stellen Sie sich vor, dieser Index ist 0. In der Kiste. Es wird auf die Position des Index 0 gehen und das bringen, um Daten zu tun und es zu speichern. Und es wird es einfach iterieren. Es wird nur weitergehen, bis die Länge vorbei ist. Schreiben Sie einfach eine Rückgabeliste. Und drinnen. Ich würde ihm einen Titel geben. In der Titeleigenschaft würde
ich diesen Text des blauen Punkttitels geben, Hals dies Lassen Sie uns speichern. Früher haben wir Master geschrieben, bieten US-Staatsmanagement. Siehst du, wir haben das gelernt. Bieten Sie die Immobilienverwaltung. Und Sie könnten fragen, warum bekommen ist noch zwei von ihnen, die Master State Management in flirtet und das so würde ich gerne sagen, das war weil ich bereits die Hive-Datenbank in diesem Gerät getestet habe. Deshalb, denn diese Nachahmung war die gleiche der Box. Das heißt, es hat die vorherigen Daten als Miete gespeichert abgerufen. Aber nehme ich an, ich würde hier schreiben, früh
aufwachen, nehme an, und dann 2 und C hinzufügen. Sie können sehen, dass hier früh aufwachen. Also letztendlich funktioniert unsere To-Do-App bis zum Kopf. Das war's also für dieses Video. Im nächsten Video würden
wir das Update implementieren, um so sehr weniger zu löschen, um Funktionalitäten zu tun. Danke.
7. Video 6: Also bis jetzt haben wir diese grundlegende To-Do-App. Es ist Zeit v, etwas
zu implementieren, um anzuzeigen, dass dieses ToDo abgeschlossen wurde oder getan ist, dann wird nur es entfernt werden. Sind der Benutzer nicht einmal wissen, dass diese Aufgabe erledigt wurde, sind nicht weit, dass ich verwenden werde. Es überprüft die Checkbox-Widget. Und weit das. Denn in diesem Kontrollkästchen
gibt es etwas, das als Änderung bezeichnet wird. Das heißt, wenn Sie darauf klicken, erhalten
wir einen Wert von true oder false. Und nach diesem Wert würde
ich die Eigenschaften dieses Textbereichs ändern. Also lasst es uns praktisch machen. Innerhalb dieses Titels. Dass ich ein führendes Symbol zeigen würde. Und es wird es überprüfen lassen. Box-Wert wäre zu tun ist entweder wahr oder falsch. On, innerhalb der onchange-Eigenschaft. Ich muss etwas tun, damit der Wert in diesen beiden aktualisiert wird. Nun, da ich diesen Wert endgültig gemacht habe, also kann ich den Wert, der Wert innerhalb dieser Todo-Klasse ist, nicht direkt ändern und ändern, wird
es einen Adder zeigen. Also, was ich tun werde, werde
ich eine neue Variable erstellen und einfach so
schreiben so und so. Und in ihm, dieser Titel wäre der gleiche wie diese Studie ist, um
den Titel zu tun , dass die vorherige nur, aber abgeschlossen ist, wird dieser Wert sein. Das ist das hier. Und da es in Sicherheit ist, muss
ich diese Erklärung verwenden, damit ich sicherstellen würde, dass dieser Wert nicht null ist. Jetzt und jetzt. Danach würde ich es einfach durch es ersetzen. Auf Index setzen. Und Wert wäre neu, um so zu tun. Das war's. Also, was es tut, es, es,
es, es, es erstellt einfach ein neues To-Do und ersetzt es durch das vorherige. Jetzt, als unser kleines Tool, aktualisiere
ich dies nicht, weil seine Eigenschaften endgültig waren. Sie können auch die Modellklasse ändern. Das heißt, Sie können es hier und dann wieder ändern, neu erstellen und diesen Adapter jetzt neu erstellen. Aber ich mache es nicht in einem, Ich versuche nicht, das zu tun. Und einfach nur ein neues Objekt skaten und es durch das vorherige ersetzen. Angenommen, dieser Wert ist zwei, das heißt, diese Aufgabe wurde abgeschlossen. Dann würde ich zeigen, dass
ich auch einige Änderungen an diesem Text vornehmen würde. Also innerhalb dieses txt würde ich
zuerst eine Schriftgröße einfach als 20 geben. Dann Schriftgewicht. Schriftgewicht, fett. Jetzt diese Farbe. Also, wenn zwei blaue Punkt abgeschlossen ist wahr, dann würde ich Farben dunkelgrün schreiben. Wenn nicht, würde ich Farben schwarz hinzufügen. Schauen wir es uns an. Wenn ich darauf klicke, sehen gefärbt wird grün. Wenn ich darauf klicke, wird die Farbe grün. Nun, was ich tun würde, ist einfach in dieser Erklärung, Ich würde tun, um neue Punkt abgeschlossen ist. Wenn es wahr ist, dann schreiben Sie Textdekoration gepunktete Linie, true. Wenn nicht, würde ich Textdekoration keine hinzufügen. Mal sehen, was dieser Code tut? Also, wenn ich darauf klicke, sehen Sie es ist. Durchgestrichen. Das heißt, wir können verstehen, dass diese Aufgabe abgeschlossen ist. Wir müssen nicht darüber nachdenken. So funktioniert unser Update. Jetzt ist es Zeit, dass wir eine Funktionalität zu löschen ist auch zu verlieren. Dafür, einfach nach dem führenden, würde
ich es nachfolgendes Symbol haben. Und in diesem Journaling würde
ich ihm eine Ikone geben. Knopf. Icon wäre ich kann ich
die späte Farbe beginnen , um Farben dunkler rot. Und dann gedrückt. Sehen Sie, anders als die Sorge hier. Jetzt müssen wir einfach löschen. Und wir können einfach in einer Codezeile schreiben, die Box Dot Delete,
Anzeige und Index ist , das ist es. Also löscht es, dass bestimmte Todo an diesem Index. Danach möchte ich eine Snackbar zeigen. Ich mag es, dem Benutzer irgendwann etwas Feedback zu geben, wenn Sie möchten, können
Sie diesen Kartenkörper in anderen Abschnitten geben, da eins bis sechs so ist. Und das war's. Probieren wir es aus. Wenn ich darauf klicke, sehen Sie es erfolgreich. Wenn ich darauf klicke, wird
es auch aus der Hive-Datenbank entfernt. Und wenn ich alles entferne, dann wissen Sie, seit unsere Boxen leer. So ist es eine sehr professionelle und grundlegende To-Do-Anwendung mit Flattern und Höhe. Jetzt ist alles in Ordnung. Abgesehen von diesem, kann, ich nehme an, ich füge etwas wie überschwemmt hinzu? Ok. Es kommt an der Spitze. Wenn ich Senf schreibe, Firebase 10 c, kommt es nicht ganz oben,
es kommt, es tut an zweiter Stelle. Das sollte also nicht passieren. Dann lass das ganz oben sein. Bisher muss ich hier nur ein paar Änderungen in diesem Listenansicht-Punkt-Builder vornehmen. Das erste, was ich schreiben würde, ist gleich wahr. Und zweitens, sehen Sie, ob ich jetzt darauf klicke und speichern Sie es. Dieses Ding ist umgekehrt, aber alles geht ganz oben, weil die ListView alle verfügbaren Leerzeichen benötigt. Deshalb, wenn wir diese Eigenschaft nicht verwenden, ist Shrink Wrap gleich wahr? Es wird unten gehen. Aber welche Schrumpffolie ist wahr? Liste wir nimmt nur den Platz ein, den es benötigt wird. Siehst du, jetzt sieht es sehr gut aus. Wenn ich jetzt etwas wie Praxis,
Provider, Staat, Management tippe , so. Und okay, C und das ganz oben wird ausgegeben, dass es richtig in der Karriere angezeigt wird, die absteigend Reihenfolge der Upload-Daten
ist, können Sie einfach speichern. Das war's also für dieses Modul. Ich hoffe, Sie haben viel Spaß gemacht und gelernt. Denn wenn wir eine Anwendung mit FERPA bauen, Es ist nicht immer notwendig, Server-Datenbank zu verwenden. Wir könnten, und wir werden viele Szenarien haben, in denen wir Hive-Datenbank benötigen, das ist lokaler Speicher, Speicher als auch.