Transkripte
1. Einführung in den Kurs: Interessieren Sie sich dafür,
eine reale Anwendung mit
Zahnstein zu erstellen , oder möchten Sie potenzielle Arbeitgeber mit
Ihren Fähigkeiten zur mobilen Entwicklung
beeindrucken und Ihren Traumjob bekommen, dann
ist dieser Kurs genau das Richtige für Sie. Es wird Ihnen beibringen, wie Sie
ein voll funktionsfähiges
Anwesenheitsmanagementsystem mit
Unordnung erstellen ein voll funktionsfähiges
Anwesenheitsmanagementsystem mit und mit einem
Anbieter als staatlichem
Management-Tool beaufsichtigen . Supervisor ist eine
Open-Source-Alternative zu Firebase und erfreut sich in
der Tech-Community
großer Beliebtheit. Wir werden mit dem Aufbau eines
robusten Authentifizierungssystems beginnen, das es
den Mitarbeitern
ermöglicht, sich mit ihrer E-Mail-Adresse
und ihrem Passwort zu registrieren und
anzumelden. Anschließend erstellen wir eine
benutzerfreundliche Oberfläche, die es den Mitarbeitern
ermöglicht, einfach zum Ein- und
Auschecken für den Tag zu wechseln. aktuelle Standort des
Mitarbeiters wird ebenfalls gespeichert ,
sodass bestätigt wird, dass
er oder sie sich in der Dunkelheit befindet. Die Anwendung wird auch Funktionen
implementieren
, die es den Mitarbeitern
ermöglichen, ihre Anwesenheitshistorie
für jeden Monat des Jahres einzusehen für jeden Monat des Jahres , ihre persönlichen Daten
sowie die Unternehmensabteilung zu
aktualisieren sowie die Unternehmensabteilung und gleichzeitig eine
effiziente staatliche Verwaltung
mithilfe des Anbieters aufrechtzuerhalten . Am Ende des Kurses verfügen
Sie über ein vollständiges
Anwesenheitsmanagementsystem , das Sie in
Ihrer eigenen Organisation verwenden
oder
Ihr Portfolio präsentieren können Ihrer eigenen Organisation verwenden
oder
Ihr Portfolio präsentieren , ohne weitere Zeit zu
verschwenden. Lass uns anfangen.
2. Ein Flatter-Projekt erstellen: Hallo, willkommen zum
allerersten Video des Kurses, in dem wir
mit Flutter und Superbus
ein
Anwesenheitsmanagementsystem für Mitarbeiter aufbauen werden ein
Anwesenheitsmanagementsystem für Mitarbeiter . Ich gehe davon aus, dass Sie
sich bereits mit Unordnung auskennen. Und wenn es um die Überwachung geht, sind
diese Quiet Is sehr einfach und unkompliziert wie Firebase. Wenn Sie sich also mit Firebase
auskennen, es
Ihnen nicht schwer fallen. Außerdem werde ich
das Provider-Paket als
Tool
zur Staatsverwaltung in unserem Projekt verwenden das Provider-Paket als . Sie sollten auch
über Schulden Bescheid wissen. also,
ohne weitere Zeit zu verschwenden, Lassen Sie uns also,
ohne weitere Zeit zu verschwenden, mit der Erstellung
eines neuen Florida-Projekts beginnen. Gehen Sie in das gewünschte Verzeichnis
und öffnen Sie Ihr Terminal. Dann der Befehl, Flutter. Erstellen Sie ein
Anwesenheitszentrum für Mitarbeiter. Natürlich können Sie einen beliebigen
Projektnamen verwenden. Es liegt an dir. Dann öffne dein Terminal. Entschuldigung, öffne deinen Code-Editor. Ich werde VS Code verwenden. Dann. Ben, dein Projekt. Unser Projekt ist erstellt. Jetzt ist es an der Zeit, dass wir
ein beaufsichtigtes Konto einrichten. Öffnen Sie Ihren Browser
und geben Sie supervise.com ein. Das ist also die
offizielle Seite hier. Klicken Sie auf Anmelden. Und natürlich habe ich direkt
unterschrieben, weil ich mich bereits früher
mit meinem GitHub-Konto angemeldet habe.
Sie werden auf jeden Fall die
Möglichkeit haben, Sie werden auf jeden Fall die
Möglichkeit sich mit Ihrem
GitHub-Konto anzumelden. Sie geben einfach Ihre Anmeldeinformationen und dann werden Sie auf diese Seite
weitergeleitet. Hier. Klicken Sie einfach auf Create Project. Denken Sie auch daran, dass
Sie eine Organisation benötigen, um
ein neues Projekt zu
erstellen . Also ich muss nämlich reisen. Sie erhalten dort die Option, es einfach
zu benennen. Hier lautet der Projektname
nun Anwesenheit der Mitarbeiter. Ich werde einfach
ein zufälliges Passwort generieren. Wählen Sie jedoch den nächstgelegenen Grund. Und der Preisplan wird kostenlos sein. Nach dieser Zeit
richtet es das Projekt ein. Bringen Sie einfach Ihren VS-Code heraus. Und hier im neuen Terminal werde
ich einfach
diese Kombinationsdaten schreiben. Bob, füge Superways hinzu, immer lauter, Punkt ENV. Dies sind die Pakete
, die benötigt werden. Sie können auch zu Bob
Dot Dev gehen und
sich diese Pakete ansehen. Zum Platzen wird Flattern verwendet, um mit den Aufsichtspersonen zu
interagieren. Und dieser Punkt ENV wird verwendet
, damit unsere Passwörter
nicht kompromittiert werden. Wir werden das
Passwort nicht direkt in
die Hauptdatei schreiben oder auf die
Bildschirme, so. Wir werden einfach den
Pub-Spezifikationspunkt YAML überprüfen und sehen. Wir haben diese beiden. Wir müssen das installieren. Jetzt. Im
Stammverzeichnis unserer App. Erstellen Sie einfach eine Datei
und nennen Sie sie dot ENV. Stellen Sie sicher, dass Sie dies nicht darin
erstellen. Sie müssen
im Stammverzeichnis erstellen. Und hier speichern wir die
Superbus-Anmeldeinformationen wie evaulate Die
Superbasis-URL entspricht diesem und die Superways k ist gleich. Dann. Gehen Sie hier zum Dashboard, klicken Sie auf
Projekteinstellung und dann auf API. Und hier können Sie die URL
sehen, kopieren Sie sie und fügen Sie sie hier ein. Und dann kopiere das. Und auf den öffentlichen Schlüssel und
füge ihn in diesen Schlüssel ein. Das war's. Sehen Sie, Sie haben die Details hier direkt kopiert
und eingefügt. Danach. In dieser Pub-Spezifikations-Punkt-YAML-Datei müssen
wir
diese Punkt-ENV-Datei
im Asset-Abschnitt erwähnen . Also geh hier runter. Es ist einfach unkommentiert. Denken Sie daran, dass diese
Pub-Spezifikations-Punkt-YAML-Datei sehr zwischen Groß- und Kleinschreibung unterscheidet, sodass jedes zusätzliche Leerzeichen oder
Tabulator ein C ergibt Sie müssen so sehr
vorsichtig sein, genau wie Punkt ENV und speichern Sie es. Okay, das war's
für dieses Video. Im nächsten Video werde
ich unseren Superbus initialisieren und die
Anwendung ausführen. Danke.
3. Supabase-Client initialisieren: Hallo, lass uns weitermachen. Da wir also Abhängigkeiten
installiert haben, müssen
wir auch Android konfigurieren
. Also geh zu Android, dann zu App. Und hier drin haben Sie
die aufgebaute Gradle-Datei. Hier. Zuerst. Sie haben diese billige SDK-Version. Mach 33 draus, so. Dann haben Sie eine
Mindestversion des SDK. Ja, ja, hier. Mach 19 draus. Und ermöglichen Sie auch mehrere Jahrzehnte. Mit dieser Zeile. Wenn Sie Firebase bereits
konfiguriert haben, wissen
Sie, dass diese jedes Mal erforderlich
sind. Außerdem
gehe ich einfach zur Android-Quelle, dem
Android-Hauptmanifest , und ändere das Android-Label auf Ban. Das wird also der App-Name sein, oder Sie können sagen, dass dies das Mitarbeiterverwaltungssystem
für ein Unternehmen namens Fang ist. Das ist okay. Dann müssen wir
diesen Supervise-Client
innerhalb unserer Hauptfunktion initialisieren . Also gehe hier zum Main. Ja, mach einfach ein Waschbecken draus. Dann sind sie wie Rigids
bindend und werden initialisiert angezeigt. Laden Sie dann zuerst ENV-Dateien. Das werde ich sofort tun. Und ich werde zuerst Punkt ENV importieren und
Superbus Flutter so importieren. Und hier
schreibe ich einfach den Befehl dot ENV dot load. Es wird also die
ENV-Punkt-Datei mit Stunden laden. Und dann werde ich Supervise
initialisieren. Zuerst erhalte ich einfach Dow-URL im Schlüssel in
einer separaten Variablen Hier
schreibe ich einfach Punkt ENV, Punkt ENV. Hier. Wir müssen den Schlüsselnamen
schreiben. Wenn du das weißt. Das ist der Schlüssel für die Daten. Also werde ich das einfach schreiben
und es kann null sein. Also stelle ich einfach
sicher, ob es Null ist, und gebe ihm
dann den Wert
einer leeren Zeichenfolge. Dann ist der
Supervisor entscheidend. Hier. Es ging um Whiskey. Danach
initialisiere ich mit
dem Code Supervise,
nicht initialisiere. Dann
müssen wir hier die URL angeben, die hervorragend cURL ist. Jeder Schlüssel wird sehr riskant sein. Das war's. So initialisieren
wir Superbus. Das ist sehr einfach. Danach werden wir unser Projekt
strukturieren. Ich werde
das und Android einfach schließen. Und in lib werden wir unser Projekt in
Ordner
strukturieren , anstatt
alles auf einen Stapel zu schreiben. Erstellen Sie also einen neuen Ordner
namens screens in lib. Erstellen Sie dann einen weiteren
Ordner namens Constance. Noch ein Ordner, du
kassierst, also Models. Und schließlich haben wir Dienstleistungen. Das ist also eine bessere Art, Code
zu schreiben. Und Einblicke. Greens, erstelle eine Datei. Anmeldebildschirm Punkt, Punkt. Lassen Sie uns zunächst Material importieren und ein
Stateful-Widget
erstellen. Login-Bildschirm. Ja, ich gebe ein Gerüst zurück. In diesem Körper. Es war einfach geschrieben. Es funktioniert. Und in der Domäne Punkt Punkt. Einfach. Zuerst werde ich diese Kommentare entfernen und
alles von hier entfernen. Das ist von der Klassenhomepage. Entferne alles und gib dem Home den Login-Bildschirm
als Wert. Speichern. Alles. Danach starte
ich meinen Pixel
Five Android-Emulator. Sie können auch Ihr
physisches Gerät anschließen . Es liegt an dir. Und ich werde versuchen,
diese Anwendung auszuführen. Lassen Sie uns nun sehen, ob wir laufen
oder ob es einen Editor gibt. Dies ist das erste Mal, daher kann es einige Zeit dauern. Also bis dahin, wenn du willst, kannst
du einfach zum
Superbus Flirted Darks gehen. Hier. Und hier. Du kannst, du kannst viel Lob
sehen oder du kannst es verstehen, wenn du
keine Ahnung von Superbus hast. Lass uns sehen. Was haben wir
keine anderen Hunde? Ja. Hier haben Sie alle Abfragen, wie man Daten abruft, einfügt, wie man sich anmeldet, wie man Speicher erstellt und auch diese URL
wird für Sie hilfreich sein. Das wird sich als nützlich erweisen. Stellen Sie sicher, dass Sie Freizeit haben, Sie lesen hier alles. Ich habe eine Lizenz und alles
, was akzeptiert werden muss. Deshalb
dauert es einige Zeit. Das ist in Ordnung. Wir können warten. Siehe Dapp. Und jetzt ist der Bildschirm, er funktioniert, da. Das bedeutet, dass unsere App perfekt
funktioniert. Ich ändere
hier einfach diesen Titel in Mitarbeiterbeteiligung und das
Debug-Banner in False. Das war's. Das
war's für dieses Video. Im nächsten Video werden
wir an der Benutzeroberfläche des
Anmeldebildschirms arbeiten. Danke.
4. Einen Anmeldebildschirm erstellen: Hallo, willkommen zurück. In diesem Video werden wir also Arbeit an der Benutzeroberfläche des
Anmeldebildschirms
beginnen. Das ist also der Bildschirm, auf dem Mitarbeiter
in ihr Unternehmen einloggen können, das ich Pang, f, a
und g genannt
habe . Also lasst uns anfangen. Zuallererst werden
darin
Variablen erstellt, werden
darin
Variablen erstellt um die Breite
und Höhe des Geräts zu ermitteln. Also einfach doppelt. Bildschirmbreite
entspricht der Medienabfrage, die Dot
Off-Kontakte haben sollten, sie sind nicht von Kontakten. Punktgröße, Punktbreite. Und in ähnlicher Weise kopiert, eingefügt. Es wird immer grüne Höhe geben. Und das wird hoch sein. Lass uns jetzt anfangen. Fangen wir mit Win an. In diesem Körper werde ich eine Spalte
verwenden, die ersten
Chao-Behälter für
Kinder darstellt. Höhe des
Containers entspricht der
grünen Grundhöhe geteilt durch drei. Das Gewicht des Containers
entspricht der Bildschirmbreite. Lassen Sie uns eine Erklärung abgeben. Const Box, Dekoration,
Farbe, Farben, Rot, Akzent. Dann Grenze. Der Radius wird der
Randradius sein, kreisförmig. Es sollte es sein, es sollte nur sein. Dann hier drinnen, oder? Unten rechts. Es wird ein kreisförmiger Radius von 70 sein. Okay? Und in diesem Container haben
wir das Eigentum des Kindes. Es wird, wieder über die Spalte Ich gebe ein zufälliges Symbol und
zuerst bleibt es existent Alignment main
excellent Mendota Center ,
sodass das Kind aus diesem Container
geschickt wird. Und dann haben wir, dass Kinder von Teichen zu
schätzen sein
werden , dann
kann ich den QR-Code-Scanner starten. Du kannst einen QR-Code schreiben oder du
kannst geben, was ich will. Weniger Punkte weiß, Größe pro Tag. Geben Sie uns dann die Größe der
Felsen mit der Höhe, dy und geben Sie dann den
Text des Firmennamens an. Ich werde es tun. Fang-Stil. Textil Die Größe der Anleihen wird 25 betragen. Die Farben sind weiß. Schriftstärke, Schriftstärke, fett. Rette alles.
Lass uns auschecken. Siehst du, es sieht nach Abstieg aus. Wir haben hier diesen unteren Radius. Dies ist, dass die
Containergalerien rot X und Sie können die Farbe
nach Ihren Bedürfnissen ändern. Dann haben wir in diesem Kind
in einer Spalte, in der ich Text
landen kann , der sich in der Mitte befindet da wir die Ausrichtung der
Hauptachse als Mittelpunkt angegeben haben. Danach müssen wir zwei
Texte erstellen, irgendeinen Controller
für diese Textfelder. Für sie, Login-Zweck. Gehen wir also
hier in diese Klasse und schreiben den endgültigen
Textbearbeitungscontroller. E-Mail-Steuerung fähig zum
Textbearbeitungscontroller. In ähnlicher Weise haben wir auch den
Textbearbeitungscontroller für das Passwort. Der Passwort-Controller ist so, dass sie alles machen, was sie kontrollieren. Dann innerhalb des Spalten-Widgets. Erstellen Sie hier ein weiteres
Spalten-Widget mit etwas Polsterung. Also unten, lass uns sehen. Wir haben dieses
Spalten-Widget, es endet hier. Geben Sie dann eine Abstandsgröße an, Boxhöhe 50 als die Tiefe. Durch Hinzufügen eines Widgets. Ich gebe an, dass die Polsterung 20 beträgt. Und ich liebe die Polsterung, die eine Spalte sein
wird. Jetzt haben wir diese Kinder. Darin werden Kinder dieses Textfeld
haben. Deklaration,
Const-Eingabedeklaration. Die Bezeichnung wird Text sein. Mitarbeiter, E-Mail, ID. Korrigieren. Ich kann, ich kann, ich kann eine Person starten. Sie können einer Person schreiben, Sie können E-Mails schreiben,
was auch immer Sie wollen. Rahmen, Umriss, Eingaberahmen. Dann haben wir die
Controller-Option außerhalb der Deklaration und wir geben ihr den
E-Mail-Controller. Und nach diesem
Textfeld geben Sie etwas Abstand ein. Größe, Kartonhöhe 20. Lass uns alles speichern. Sie können den Code sehen und jetzt sehen, dass wir die
E-Mail-ID des Mitarbeiters wie folgt haben. Das war's also für dieses Video. Im nächsten Video werden wir diesen Anmeldebildschirm
vervollständigen und
den Registrierungsbildschirm erstellen. Ich danke dir.
5. Einen Registrierungsbildschirm erstellen: Lassen Sie uns weiter
am Anmeldebildschirm arbeiten. Unterhalb dieses Größenfeldes. Erstellen Sie einen weiteren Text. Sie können diesen Text einfach kopieren und einfügen. Hier. Es wird ein Passwort sein. Ich kann Solvay, ich kann Glück anfangen. Der Controller ist der
Passwort-Controller und verdeckter Text ist wahr. Das heißt, was auch immer wir eingeben sollte niemand anderem gezeigt
werden. Es wird wie Sterne kommen. Unter diesem Text werden einige
Abstände angegeben. Größe der Schachtel, Höhe 30. Und dann lass es uns drücken. Geben Sie ihm eine Schachtelgröße. Seine Höhe wird 60 betragen, was einer Unendlichkeit von
Doppelpunkten entspricht. Das Kind wird angehoben. Der in der
Schaltfläche geschriebene Text ist Login. Und wir werden ihm auch ein wenig technisches
Styling geben. Schriftgröße 20. Mach es konstant. Dann verleihen Sie auch der
erhöhten Schaltfläche etwas Stil. Also hier, wie beim erhöhten Zehn-Punkt-Stil geben Sie der erhöhten Schaltfläche
Stil. Die Hintergrundfarbe wird aus
Farben bestehen, die einen roten Akzent setzen. Und die Form wird abgerundet sein. Rechteckiger Rand,
Randradius, Randradius. Rundschreiben heute. Das ist nur, es sollte am
Ende des Arguments stehen. Das war's. Lass es uns überprüfen. Siehst du, der Button
sieht auch gut aus. Jetzt ist es soweit. Wir erstellen einen weiteren
Bildschirm für die Registrierung. Bewerten Sie also auf dem Bildschirm einfach den
registrierten Bildschirmpunkt. Dies
ist also offensichtlich die Seite neue Mitarbeiter
registrieren, kopieren
und den Code vom
Mitarbeiterbildschirm hier einfügen können . Dann ändern wir einfach
zuerst
den Namen auf dem Bildschirm. Okay? Jetzt, hier im Gerüst, werden
wir einen MBA haben, damit wir auch den
Zurück-Button zeigen können. Schreiben wir einfach AB-Balken, Hintergrundfarben, den
roten Akzent, Höhe Null. Und ich werde einfach
die Höhe ändern , um sie
mit der App-Leiste anzupassen. Und zum Schluss, in den Button, schreibe
ich hier registrieren. Das war's. Nur
diese drei Änderungen. Speichern. Jetzt haben wir auch den
Registrierungsbildschirm. Gehen wir nun vom
Anmeldebildschirm aus zum Registrierungsbildschirm. Gehen Sie also zur Punktdatei
des Anmeldebildschirms. Hier. Unter dieser großen Schachtel. Ich gebe
bei diesem Größenfeld D
etwas Abstand Lassen Sie uns nun einen
Text-Button erstellen , der zu dem Register-Bildschirm navigiert
. Also füge ich einfach Text hinzu. Sind Sie ein neuer Mitarbeiter, der hier
registriert ist? Und navigieren Sie in der
Bewertung vor Ort in ihrem Busch. Ich hoffe, Sie
kennen diese Befehle bereits. sind die Grundlagen
für die Navigation im Jetzt müssen wir nur Text hier
schreiben und
wir werden ihn wie folgt an
diesen Registerbildschirm senden . Und das ist eine Konstante. C. Speichern Sie alles. Jetzt haben wir das Login und wenn
ich hier auf Registrieren klicke, sehen wir, dass wir auch den
Registrierungsbildschirm haben. Und hier in der App-Leiste haben
wir die Zurück-Schaltfläche
, mit der wir wieder
zum Anmeldebildschirm gelangen können. Das war's für dieses Video, wir haben erfolgreich
die Benutzeroberfläche für die Anmeldung und Registrierung erstellt . Wir sehen uns in der nächsten Sitzung.
6. Auth-Service-Klasse erstellen: Hallo, willkommen zurück. Jetzt ist es an der Zeit, dass wir
anfangen, mit Daten zu arbeiten, oder Sie können sagen, mit dem Staat. Und zu diesem Zweck werden
wir den Anbieter als
staatliches Managementinstrument verwenden. Lassen Sie uns nun
das Provider-Paket
in diesem Terminal installieren . Schreiben Sie einfach einen Brief an den Anbieter. Das war's. Sie können
auch auf die Website bob.gov gehen und sich das auch von
dort aus durchdringen lassen. Schau einfach nach. Ja, wir haben den Anbieter. Lassen Sie uns nun zunächst eine Utils-Klasse
erstellen. also im Ordner utils Erstellen Sie also im Ordner utils eine neue Datei. Punkt Punkt. Wir werden eine statische
Funktion erstellen, um die Snackbar anzuzeigen. Da wird das oft
benutzt werden. Deshalb erstelle ich dafür
eine separate Methode. Importiere einfach Material
als das Glas. Du kämst so dick, breit. Also Snackbar. Wir akzeptieren die Nachricht, den Glockenkontext und einen
optionalen Farbwert
, der Null sein kann. Da dies optional ist. Dann schreiben wir Skaphoid, Messenger Off Contexts,
Dot Show Snack Bar. Also das, dieser Code
ist von Flatter. Denk dran, Snackbar. Jetzt zufrieden, ich werde hier Text geben
und eine Nachricht senden. Und in dieser Snackbar, in dieser Schlange, aber wir
haben diese Hintergrundfarbe. Das wird Farbe sein. Das war's. Wenn es also Null ist, wird es zu
seiner Standardfarbe zurückkehren. Jetzt haben wir diese
Utils-Funktion hier. Lassen Sie uns nun unsere
Art Service-Klasse erstellen. Jetzt wird es interessant. Einblicke. Dienstleistungen, richtig? Umfragen, dunkel, dunkel. Hier werden wir
alle Methoden im
Zusammenhang mit der Authentifizierung schreiben . Lassen Sie uns also zuerst
das Material verpacken, dann das Paket importieren und überwachen. Dann erstellen Sie die
Klassenkunst-Umfragen, die erweitern, ändern, benachrichtigen oder da wir Anbieter verwenden
werden. Also werde ich als Erstes
eine Instanz des Superbus-Clients erstellen . Byways Gland Supervise
entspricht also Super Base
Dot Instance Dot Client. Dies ist nur das Erstellen
einer Instanz. Dann erstelle ich es, es wird
geladen, variabel. Wird geladen. Ich habe
für jedes Laden eine
private Variable erstellt und
dann Getter und
Setter erstellt, damit Benutzer außerhalb dieser Klasse nicht direkt auf
diesen Wert zugreifen können. Sie müssen das durchmachen, also können sie es nicht direkt
ändern. Seltsamer Service, das können
sie nicht. Sie müssen
dieses Methodenset verwenden. Methode. Set wird geladen. Wir senden einen Bool-Wert. Es wird sein, ob
das Laden dem Wert entspricht. Und benachrichtigen Sie die Zuhörer,
damit
sich jeder , der diesen
seltsamen Dienst anhört, erfrischt. Das ist es also. Für dieses Video.
Im nächsten Video werden
wir an
verschiedenen Methoden arbeiten. Danke.
7. Methode zur Registrierung eines Mitarbeiters: Hallo, willkommen zurück. Lassen Sie uns nun
eine Methode erstellen , mit der ein Mitarbeiter
ein Konto registrieren kann. In der Kunst- oder Risikoklasse. Eine zukünftige Funktion. Mitarbeiter registrieren. So wie das. Wir benötigen die E-Mail-Adresse, Zeichenfolge, das Passwort
sowie den Glockenkontext, um die Snackbar
anzuzeigen. Dann wickeln wir den Code
in den try catch Block ein. Dieser Versuch, den ich zuerst machen werde, ist gesetzt, wird auf true geladen. Ist es. Ich werde diese Setter-Methode verwenden. Dann werde ich überprüfen, ob
E-Mail gleich leer ist. Unser Passwort entspricht Md. Dann wirf einen Fehler. Wale sind erforderlich. Und wenn nicht, schreibe ich
die Abfrage, um sie zu signieren. Das heißt, dieser Datentyp, der
die Rückgabe ist, wird
als Art-Response bezeichnet. Dann füge ich die Await Superbus-Instanz
hinzu. Diese Variable Punkt,
Punkt, Anmeldung wie folgt. Und hier
müssen wir diese E-Mail
und das Passwort schicken. Und danach zeigen wir die
Utils Dot Show Snack Bar. Die Nachricht wird erfolgreich sein. Sie können sich jetzt
anmelden und die Farbe wird dunkelgrün sein
. Dann schreibe ich einfach, navigiere zum dritten Punkt, Pop. Und set wird auf false geladen. Das ist also der Code. Und was ist, wenn es eine Natter gibt? Zunächst einmal, was ich tun werde, ein Set wird auf false geladen. Dann zeige ich die
Snackbar-Utils Dot Show Snackbar. Die Nachricht wird mit einem Punkt an String gesendet. Kontexte werden Kontexte sein, aber die Farbe wird rot sein. Okay? Das war also die
Methode für die Registrierung. Und ich gehe einfach hier
zur Dokumentation. Und ich zeige Ihnen diese Zeile
, die einen Benutzer C signiert, Sie erhalten Dakota, hier
sind die Antwort, Supervise oder die
Anmeldung mit Passwort. Das ist das Zeichen im Studium. Wir haben das erstellt einen neuen
Benutzer und eine C-Punkt-Anmeldung. Das ist also sehr einfach. Es, Sie erhalten den Benutzer auch aus
der Antwort. Das war's also für dieses Video. Im nächsten Video
werden wir die Methode zum An- und
Abmelden und Q. schreiben .
8. Methode zum Anmelden und Abmelden: Hallo, lass uns
mit unseren Methoden fortfahren. Und unter dieser
Registerfunktion erstellen
wir eine weitere
Funktion, oder meine dritte,
Sie können sagen, für die Anmeldung,
nutzen Sie diese Zukunft. Stellen Sie jetzt auch hier ein. Wir werden nach
dem E-Mail-Schlagwort fragen ,
Bill Contexts. Und dieser Code ist
ziemlich ähnlich. Was Sie tun können, ist diesen Code zu
kopieren, ihn hier einzufügen, und dann haben
wir das Laden auf
True Art Response. Dies wird ein Passwort mit
Sinusgewicht sein. Und ich muss unser Navi hier nicht
zeigen. Einfach setzen wird auf Falsch geladen. Und nehmen wir an, wir haben einen Fehler. Es wird sich hier erwischen. Ich werde nachgeben. Unterhalb
dieses Funktionsrasters. Eine weitere Funktion
erfordert die Abmeldung. Das ist sehr einfach,
wie ein Gewicht. Also Purveys Dot Art, melde dich ab. Und wir werden
die Zuhörer benachrichtigen. Wir werden auch
einen Getter erstellen, um den Benutzer zu ermitteln, den dieser Benutzer den
aktuellen Benutzer von Superbus erhält. Einfach so,
dass Licht diese Kunst beaufsichtigt, Punkt aktueller Benutzer. So wie das. Das war's. Dadurch wird angezeigt,
ob der Benutzer unterschreibt oder nicht. Jetzt haben wir den
Anbieter hier, oder? Wir müssen unseren
Anbieter in diesem Hauptpunkt angeben,
Punkte, damit die Nase flacher , die wir
in unserer Bewerbung angegeben haben. Also einfach hier mit Rigid
namens Multi Provider. Der Anbieter, da
wir später mehrere
Anbieter haben werden. Hier. Schreiben Sie hier einfach, benachrichtigen Sie Ihren Anbieter. Dann erstelle. Und wir haben hier den Kontext der
Bushaltestelle. Und schreibe einen seltsamen Service. Einfach so. Das war's. So
deklarieren Sie Anbieter in einer
Flatter-Anwendung. Das war's also für dieses Video. Im nächsten Video werden
wir diese
Methoden der Benutzeroberfläche zuweisen. Danke.
9. Methoden der UI zuweisen: Hallo. Jetzt ist es an der Zeit
, dass wir sowohl die registrierte
als auch die Login-Funktion unserer Benutzeroberfläche zuweisen . Gehen Sie also zum Registrierungsbildschirm. In dieser Registrierungsschaltfläche. Ich werde diesen
erhöhten, aber dann internen
Verbraucher verpacken , damit wir
auf Eigenschaften und
Methoden vom AAD-Service zugreifen können . Und ich werde diesen Weg verwenden
, damit nicht das komplette Widget, die Rechnungsfunktion, immer wieder neu erstellt wird immer wieder neu erstellt nur diesen
Abschnitt werden wir neu erstellen. Schreiben wir also wie
Verbraucher, Verbraucher. Hier müssen wir erwähnen,
welchen Anbieter wir verwenden. Dann haben wir den Baumeister. Dies wird Decks oder die
Service Provider-Instanz verloren haben. Dieses Gefängnis nützt nichts. Hier. Wir müssen diese Schachtel
in dieser Größe zurückgeben. Habe gerade Paste bekommen. Geben Sie ein Semikolon ein. Hier. Das sind vier. Okay, wir müssen nur
das entfernen, das ist alles. Also haben wir gehandelt. Außerdem werden wir eine Anzeige anzeigen, die unter bestimmten
Bedingungen
geladen wird. Hier. In das Kind schreibe ich einen seltsamen
Dienstanbieterpunkt, der geladen wird. Wenn es stimmt, dann zeige in der Mitte das Kind und es ist eine coolere
Fortschrittsanzeige wie diese. Das heißt, wenn der Ladevorgang wahr ist, kreisförmige
Fortschrittsanzeige
anzeigen. Und wenn nicht, dann
schreiben wir vor Ort einen seltsamen Dienstleister, einen
registrierten Mitarbeiter. Hier haben wir den richtigen
E-Mail-Controller-Punkttext in diesem Passwort. Punkttext für den Passwort-Controller. Und hier werde ich auch einfach einen Traum
verschenken. Was ist, wenn es
etwas mehr Platz gibt? Rahmen? K? Dieser Verbraucher ist also das
Konzept des Anbieters. Sie hätten
dieses Konzept also zumindest kennen müssen. Dann. Gehen Sie in ähnlicher Weise
zum Anmeldebildschirm. Hier. Wir haben diese Eins, schätze ich. Ja. Ja. Okay. Jep. Hier. Diese Größe ist bei diesem Consumer
Direct Service Provider angegeben. Dann haben wir den Baumeister. Es ist eine Textinstanz der
Art Service Class geworden , die leichtfertig
ist, Sie können sie beliebig
nennen. Und wir haben den Chai und geben dann einfach diesen Login-Button zurück. Dieses Kind. Ähnlich werden wir es hier
bei diesem Kind an Bedingungen
geben. Der Geschmack. Der bereitgestellte Odd Service wird geladen. Dann konstantes Zentrum, kreisförmige
Fortschrittsanzeige. So wie das. Und in der Presse werden wir einen
seltsamen Dienstanbieter schreiben , einen
Dot Login-Mitarbeiter. Ich habe E-Mail-Controller,
Dot-Text, Password
Controller Dot TXT ausprobiert . Und auch hier kannst du den Trimmkram machen. Das ist ein Hit. Rette alles. Jetzt. Geh zu ihnen. Superbus-Armaturenbrett. Hier. Econ-Authentifizierung. ,
ist E-Mail bei diesen Anbietern Wie Sie sehen können,
ist E-Mail bei diesen Anbietern standardmäßig aktiviert. Ich werde diese
Bestätigungs-E-Mail einfach deaktivieren, da wir jede E-Mail
überprüfen müssen ,
bevor wir uns anmelden. Wenn Sie möchten, können
Sie es später aktivieren. Klicken Sie nun auf Speichern. Also jetzt ist E-Mail da
, wir haben jetzt keine Benutzer. Lassen Sie uns endlich überprüfen, ob
es funktioniert oder nicht. Wenn ich nun
etwas gebe und
12345 schreibe und auf Anmelden klicke,
sehe ich, dass wir die eine oder andere Ausnahme haben,
ungültige Anmeldeinformationen. Das heißt, diese E-Mail und das Passwort sind nicht wie jetzt
registriert. Ich werde es registrieren. Verwenden Sie die E-Mail-Adresse, die Sie möchten. Dann Passwort,
klicken Sie auf Registrieren. K, Erfolg. Du kannst dich jetzt einloggen. Siehst du. Wenn ich jetzt
das Passwort schreibe , hätte
es das tun sollen. Offensichtlich mache
ich jetzt nichts. Wir werden jetzt
natürlich auf
keinen Bildschirm geschickt, weil wir uns die Änderungen nicht
anhören. Aber wenn ich dort hingehe und neu lade, sehen Sie, wir haben die E-Mail erfolgreich
registriert. Das war's also für dieses Video. Ich hoffe, du hast es bis jetzt gelernt
und verstanden. Wir sehen uns in der nächsten Sitzung. Danke.
10. Benutzermodell und DB-Tabellen erstellen: Hallo, willkommen zurück. Also werden wir jetzt ein
Modell für die Benutzerdaten erstellen. also im Ordner models Erstellen Sie also im Ordner models eine neue Datei mit dem Namen
User model dot dot. Jetzt werden all diese Daten in der Datenbank
gespeichert,
nachdem sich der Benutzer registriert hat. Moment, wo
wir stattdessen nur sind, können
wir diese Daten
im Authentifizierungsbereich sehen. Was aber, wenn wir wollen, dass der
Name des Mitarbeiters oder die Abteilung, in der
die Daten verwendet werden, die wir in der Datenbank
speichern müssen Also sagen wir Glass. Benutzermodell. Die Daten, die so aussehen, als ob
sie kommen, sind binär, String-ID, dann Fine String, E-Mail, letzter String-Name, Vinyl. Mach es groß. Abschluss der Abteilung. Da wir
eine weitere Tabelle für die Abteilung
und das Listentool erstellen werden , ist
die ID, die dies ist ein Fremdschlüssel für den Primärschlüssel wenn Sie das Konzept von
SQL kennen , und dann eine binäre Zeichenfolge, ist die
Mitarbeiter-ID die
ID, die wir erstellt haben. Das heißt, das wird eine einzigartige Idee
sein. Lassen Sie uns einen Konstruktor erstellen. Dann die erforderliche ID, erforderlich. Diese werden nicht per E-Mail versendet. Hat diesen Namen
und diese Abteilung erworben. Da es sich um ein
Liberales handelt,
schreiben wir nicht das Erforderliche. Es gibt eine Punkt-Mitarbeiter-ID. Erstellen Sie nun eine Factory-Methode, um die JSON-Daten, die von der
Superbase
kommen, in dieses Modell zu
konvertieren . Also Assembly Factory
Benutzermodell für das Benutzermodell Punkt Rahm, Jason, zuordnen, String dynamische Daten und geben ein Benutzermodell zurück. Und hier musst du Daten schreiben. Id ist GAAP-Bit-Bit, die
IT-Abteilung ist übrig. Das wird eine E-Mail sein. Das wird benannt. Diese Namen oder Spaltennamen, die wir in
dieser Mitarbeiter-ID der
Superbus-Abteilung erstellen . Okay, spar dir all diese Dinge. Dies ist nicht erforderlich. Lassen Sie uns nun eine Tabelle für die
weitere Abteilung erstellen. Gehen wir zu einem Browser. Gehe zu deinem Browser. Gehen Sie dann zum Tabelleneditor. Erstellen Sie dann eine neue Tabelle. Name. Departements. Dann aktiviere IRLS vorerst nicht. Und für diese Daten benötigen wir auch keine
Echtzeit. Erstellen Sie einfach eine Titelspalte. Mach es zu Text. Das war's. Speichern Sie es. Und dann füge hier einige Daten ein. Also hier ist zuerst der Vertrieb, dann die Abteilung, die
ID-Abteilung, dann das Marketing und die Personalabteilung, dann Finanzen dort. Dies sind nur die
Abteilungen in einem Unternehmen, das AND-Betrieb hat. Also habe ich Daten eingegeben. Angenommen, Sie können, wenn
Sie möchten,
eine weitere App für den
Administrator des Unternehmens erstellen . Er kann diese Daten
von seinem Admin-Portal aus eingeben. Es liegt an dir. Jetzt haben wir die Abteilungen. Sie werden eine weitere
Tabelle mit dem Namen Mitarbeiter erstellen. Mitarbeiter. Noch einmal, entferne
das RLS vorerst. Und dann. Diese ID wird ein Fremdschlüssel für die ID
des Kunstbenutzers sein. Somit
entspricht diese ID der authentifizierten
Idee des Benutzers. Speichern Sie es einfach. Dann gib ihm einen Namen. Mach es zu Text. Dann haben wir diese E-Mail. Gib ihm Text. Geben Sie dann eine Zeile
für Spalte für Abteilung ein. Es wird ein Fremdschlüssel für die
ID der Abteilung wie diese sein. Und dann haben wir als nächstes
die Mitarbeiter-ID. Ausweis. Das gilt auch für Text. Wir haben also zwei Fremdschlüssel, Abteilung und die ID. Dies ist in erster Linie
auch der Fall. Speichern Sie es. Ich hoffe, Sie verstehen , dass diese Tabellen mit dieser
identisch sind. Diese Daten-IDE kann die Mitarbeiter-ID
der Abteilung ablesen. Jetzt werden
sie endlich in ihren Konstanten die
Dateinamenkonstanten Punkt Punkt erstellen. Wir werden hier schreiben, dass sie ästhetische Variablen
benennen, sodass es einfach ist, sie
später überall in
der Anwendung zu verwenden ,
ohne dass es zu Tippfehlern kommt. Wie Glas, Konstanten. Das ist weg. Die Mitarbeitertabelle
entspricht der Tabelle der Mitarbeiter. Und diese ****
verstorbene Abteilung
entspricht zwei Abteilungen. Das war's. In diesem Video haben wir viel gemacht
. Wir sehen uns in der nächsten Sitzung.
11. Erstellen von Datenbankservice-Kursen: Hallo, willkommen zurück. In diesem Video werden wir an der
Erstellung einer
Datenbankservice-Klasse arbeiten . Also haben wir früher
die Kunstbefragungen. Es ist Zeit, dass wir eine weitere
Datei innerhalb der Dienste erstellen und
sie DV nennen , Umfragen Punkt Punkt. Erstellen Sie also einen Klassen-DB-Dienst , der sich
um den Änderungsmodifikator erweitert, da er so ist, wir werden ihn
verwenden, ihn als Anbieter verwenden. Erstellen Sie dann eine Instanz
des Pelvis-Clients. Supervisor ist unglaublich ähnlich zu Supervise
Dot Instance Dot Client. Okay? Die erste
Funktion, die wir erstellen werden, besteht darin, neue Benutzerdaten einzufügen
. Sie beschränken das Einfügen
neuer Benutzerdatenbanktabelle wir erstellt haben, auf Mitarbeiter. Wir müssen diese
Informationen dort speichern. Vom Benutzer. Wir werden nach der Zeichenfolge der E-Mail-ID fragen, das ist die Art-ID. Da wir hier erwähnt haben , dass die Idee ein ausländisches Geschenk
sein wird. Das ist der einzige Grund
, warum sie
in die Datenbank einfügen. Der Befehl lautet Purveys
Instanzpunkt aus welcher Tabelle? Der Tabellenname ist in dieser konstanten
Start-Mitarbeitertabelle enthalten. Dann wird direkt mit einem Punkt
die Abfrage eingefügt. Hier müssen wir einen
Kartenwert senden. Das war's. Dies ist die einzige Abfrage, die erforderlich ist, um neue Daten zu erstellen oder einzufügen
. Hier. Id wird id sein. Der Name wird leer sein,
da es sich um einen neuen Benutzer handelt. E-Mail wird E-Mail sein. Dann ist das neu, das ist die Mitarbeiter-ID. Dazu müssen wir
eine Funktion erstellen, um sie zu generieren. Wir werden es erstellen, und dann wird die
Abteilung vorerst Null sein. Ich hoffe, wir haben die Abteilung, ja, wir haben die
Abteilung dort. Der Benutzer kann
seine Abteilung später
im Profilbereich aktualisieren . Jetzt müssen wir eine
Funktion erstellen, um eine zufällige ID zu erhalten. Lassen Sie uns also eine Zeichenfolge erstellen und zufällige Mitarbeiter-ID
generieren. Jetzt werden wir hier die
Zufallsfunktion verwenden. Das stammt aus
der Mathematikbibliothek. Nun, was ich will, welche Charaktere ich will, ist nur der Name
der Firma hier. Nehmen wir f, a und g an, dann die Großbuchstaben F, a
und G und dann all diese
Zahlen. Das bedeutet also, dass die Funktion die ID nur aus
diesen Zahlen
erstellt
, also nur aus der dieses
Zeichen. Das ist, das ist
nur meine Präferenz. Du kannst alle Zeichen verwenden
, also von A bis Z.
Ich benutze nur das. Dann. Ich könnte wirklich
eine Funktion schreiben, die ich selbst aus dem Internet bekommen habe. Liste, Punkt generieren, Land,
Taiwan, acht Zeichen. Dann hier, alle Charaktere. Zufällige Punkt-, Weiter-,
Ganzzahl -, Zeichen Punktlänge und schließlich
am Ende Punkt Join, fügen
Sie wie folgt zusammen. Also dieser eine Chen Ich
selbst habe mir einen Gott
aus dem Internet geschnappt. Sie können auch
jede andere
Generierungsfunktion verwenden , wenn Sie möchten. Diese eine Kette macht was? Aus diesen Zeichen wird eine achtstellige zufällige
ID erstellt. Rufen Sie diese Funktion jetzt hier auf. Wir haben die Funktion „Neuen
Benutzer einfügen“ bereit. Jetzt rufen wir diese Funktion „Neues einfügen“ auf,
während wir einen neuen Benutzer registrieren. Gehen Sie also zum AAD-Service. Während wir hier
sind, wenn wir uns registrieren. Lass uns jetzt sehen. Wir haben hier die
letzte künstlerische Antwort. Ich schreibe einfach, wenn die
Antworten ungleich Null sind, dann das und füge
alles hier ein. Zuallererst werde ich warten. Ich muss oben eine Instanz
dieses DV-Dienstes erstellen . Durch den Null-DB-Dienst. Das jüngste. Erstellen Sie eine Instanz ,
damit wir
die Funktionen verwenden können. Dann
schreibe ich hier unter diesem,
über diesem Utils, divi
surveys dot insert new user. Sie können Lees E-Mail und ID
als Antwort mit Punkt-Benutzer-ID verwenden. Das. Wir müssen die
E-Mail schicken und sie sind winzig. Dann zeigen wir
eine Snackbar, die in der Nähe angezeigt wird hier werde ich einfach schreiben erfolgreich registriert und ich möchte
nicht, dass der Benutzer erneut und dann seine
Anmeldeinformationen. Was ich also tun kann, ist die
Login-Funktion hier aufzurufen, so. Mitarbeiter anmelden. Ich habe das
E-Mail-Passwort und den Kontext. Und da das Laden von Siedlern auch hier falsch
ist. Also werde ich das aus
der Funktion entfernen , dass
es Sachen über Chen gibt. Ich möchte nicht, dass sie beim Laden
auf Falsch gesetzt , da es sich um einen direkten Call
Inside Login-Mitarbeiter handelt. Hier. Ich hoffe, Sie haben
verstanden, dass ich diese
Funktion hier aufgerufen habe, damit der Benutzer diese E-Mail
nach der Registrierung nicht erneut eingeben
muss . Stellen Sie sich vor, hier ist registriert und müssen jetzt wieder auf
die Anmeldeseite gehen und erneut die gleichen Login-Daten
eingeben. Das ist der einzige Grund. Da wir nun
diesen neuen Anbieter haben, werde
ich ihn
im Multiprovider deklarieren. Also geh einfach her, kopiere diese Zeile, füge sie ein und schreibe dv service. Das war's. Das war's also für dieses Video. Lass uns in der
nächsten Sitzung weitermachen. Danke.
12. Umgang mit dem Autorisierungsstatus des Benutzers: Hallo. Wir haben also alles bereit. Das ist der Registrierungs
- und der Anmeldeteil. Erstellen Sie nun auf dem Insights-Bildschirm einen Startbildschirm
, damit der Benutzer nach erfolgreicher
Registrierung zu diesem
navigieren kann . Importieren Sie also einfach Material, erstellen Sie
dann einen starren Zustand und nennen Sie ihn Startbildschirm. Dann geben Sie hier einfach
ein körperzentriertes Kind zurück . Und ich werde es auf den Startbildschirm schreiben. Das sind also vorerst nur
Dummy-Daten. Nur das einfache Text-Widget
in der Mitte des Bildschirms. Jetzt müssen wir überprüfen
, ob der Benutzer
oder die
Pins überprüft, ob er
angemeldet ist oder nicht. Das heißt, ob es sich um einen neuen Benutzer handelt, der sich bereits
angemeldet hat. Also müssen wir ihm
den Bildschirm zeigen, der die
Anmeldeseite oder den
Startbildschirm ist , bedingt. für diesen Insight-Bildschirm Erstellen Sie für diesen Insight-Bildschirm einen neuen Bildschirm
namens Splashscreen. Punkt Punkt. Erneut Material importieren. Erstellen Sie dann einen statellosen starren Bildschirm, Splashscreen
bezeichnen. Dann hier im Gürtel. Zunächst
rufe ich den seltsamen Anbieter an. Das heißt, seltsame Umfragen sind gleichbedeutend
mit Kontextanbietern. Und dann der Service. Dann werde ich die
Datei entsprechend zurückgeben, wenn der AAD-Service Dark
Current User gleich Null ist, dann zum Anmeldebildschirm, zum Startbildschirm. Das war's. Ich weiß das vorher, weil
ich nach der Registrierung auch
von den Details begeistert war. Also werde ich vorerst die Art Surveys
Punkt Sign Out
aufrufen ,
damit die Sitzung beendet ist. Und gehe zum Hauptpunkt und mache den Splash-Screen
zum Root-Bildschirm. So wie das. Das war's. Mal sehen, ich kann nicht bestehen. Was ist der Deal hier? Okay. Gehe einfach auf main.out und den Splash-Screen und
kommentiere das vorerst. Okay, um die Liste
immer wieder zu benachrichtigen .
Das ist, das ist nicht. Also werden wir diese Funktion
hier natürlich später nicht noch einmal
aufrufen. Aber jetzt, da wir diesen
Datenbankabschnitt hier haben, müssen
wir zur Authentifizierung gehen
und diesen Benutzer löschen,
da wir
die Benutzerdetails zuvor nicht
in der Datenbank gespeichert haben. Löschen Sie diesen Benutzer, wir
werden uns erneut registrieren. Lassen Sie uns jetzt unsere App herausbringen. Klicken Sie in der E-Mail erneut darauf. 345. Registriere dich. Schauen wir uns nun an,
ob wir uns
direkt angemeldet haben oder ob wir uns nicht
erfolgreich registriert haben. Und wir werden direkt
zum Startbildschirm geschickt. Also, worüber ich gesprochen habe. Der Benutzer muss sich nicht
erneut anmelden, weil es meiner Meinung nach eine gute
Erfahrung ist. Also. Nun, wenn ich neu starte, schauen wir mal,
auf welcher Seite ich das sehe? Ich sehe den Login oder
direkt den Startbildschirm. Und schau, ob wir
auf dem Startbildschirm sind. Es gibt keinen Anmeldebildschirm
und das alles, da wir uns
auch um den Status
dieses Benutzers kümmern. Also danke. Im nächsten Video werden
wir an der Benutzeroberfläche des
Startbildschirms arbeiten.
13. Auf dem Home-Bildschirm arbeiten: Hallo, willkommen zurück. Beginnen wir nun
mit der Erstellung einer unteren
Navigationsleiste. Auf dem Startbildschirm sehen
Sie, dass das Homeschooling gerade leer
ist. Also lasst uns daran arbeiten. Gehe zum Startbildschirm. Hier. Unter dem Körper. Lassen Sie uns eine
untere Navigationsleiste erstellen. Es wird ein Container sein. Es ist der Wert. Dann ist die Höhe
des Containers 70. Dann gib etwas Spielraum. Konstante, Kante fügt
nur Punkte links, 12, rechts, 12, unten 24 ein. Dann Dekoration. Verleihen Sie eine Const-Box als Dekoration. Dann gib ihm hier Farbe. Die Farben sind weiß. Dann Grenzradius. Punktradius mit
Randradius, kreisförmiger Punkt für t. Geben Sie dann auch den
Quaderschatteneffekt. Es akzeptiert ein Array und der einzige Wert, den wir geben,
ist box-Shadow, dann langweiliger. Farben, dunkel, schwarz,
26, Unschärferadius. Dann Offset. Der Offsetwert beträgt 22. Also schauen wir uns einfach an, wie es aussieht. Sehen Sie, wir haben gerade diese
Navigationsleiste, es ist nur ein bestimmter Container. Wir werden die Werte hier hinzufügen. Sie werden hier Ikonen sein. Und dafür werde ich
eine Bibliothek verwenden, die als
Font Awesome Icons bekannt ist. Also einfach das Terminal öffnen,
Klemmenende rechts, schmeicheln. Schrift hinzufügen. Toller Brief. Also das ist der, den ich nennen kann, das ist der
Paketname. Drücken Sie die Eingabetaste. Sie können auch zum Entwickler gehen und nach diesem
Paket suchen, wenn Sie möchten. Dieses Paket hilft uns
, viele Icons zu verwenden. In dieser Anwendung. Wir werden nicht
so viele Symbole verwenden. Das heißt, wenn Sie möchten, können
Sie dies
später auch entfernen. Damit es funktioniert, müssen
Sie die
Anwendung beenden, da es sich um ein neues Paket handelt, und sie
dann erneut ausführen. Ich werde diese Datei einfach schließen. Und das ist, ich
brauche diese Dateien jetzt nicht. Nur der Startbildschirm. Okay? Was passiert? Jetzt
wieder arbeiten. Lassen Sie uns nun die Symbole
in diesem Container erstellen. Hier in dem Kind. Zeig es einfach an. Reihe. Du hast Kinder. Und in dieser Reihe, oder? Main existiert und Kreuzachse
zur Mitte, so wie hier. Und dann brauchen wir **** können
sagen wir machen es einfach. Ich kann eine Liste mit
Symbolen, Daten, Navigation und Symbolen sehen . Dann am schlimmsten lasse ich die
Font Awesome-Symbole, diese festen Kalendertage, dann das Font Awesome-Symbol überprüfen. Und schließlich das Font
Awesome-Symbol Punkt Solid User. Das sind also die drei
Symbole, die wir verwenden werden. Hier in diesem Fall, Kinder, einfach richtig, geben Sie
es eine Fortschleife. Für int ist I gleich Null. I weniger als Navigationssymbole
Punktlänge I plus. Verwenden Sie dann diesen Spread-Operator. Und dann verwenden wir Expanded
Child Will Be Center. Und dann gibt das F-Symbol dem Navigationssymbol den Index,
sodass diese Symbole nacheinander
in einem erweiterten Bereich ausgegeben werden. Schauen wir uns nun an, wie es aussieht. Wenn ich nachsehe, haben
wir die drei, die ich sehen
kann, dass anständig aussehen, glaube ich. Jetzt
passiert offensichtlich nichts, wenn ich darauf klicke. Daran müssen wir arbeiten. Nun, hier unter den Symbolen, lassen Sie uns einfach so tun, als ob int current
index gleich Eins ist. Und bei diesen Kindern haben
wir das erweitert. Dann dieses Zentrum im
GestureDetector. In der Registerkarte. Wir schreiben einfach set state. Der aktuelle Index
entspricht I, ändern Sie den Index. Und dann
werden wir hier diese Farbe
entsprechend dem Index ändern. Also werden wir Farbe bewerten. Wenn I gleich dem aktuellen Index ist,
dann färbt
sich die Farbe, die der rote
Akzent dunkel, schwarz, 54 färbt. Ähnlich groß. Wenn I dem aktuellen Index entspricht, dann mache ihn 30 oder sonst 26. Mal sehen, ob
es funktioniert oder nicht. Wenn ich hier klicke, um
die Symbolgröße und die
Farbe zu sehen , ändern sich beide. Jetzt können Sie sehen, dass wir drei Bildschirme
haben. Lassen Sie uns also
diese drei Bildschirme erstellen. Erstellen Sie auf Bildschirmen
Kalender, Bildschirm, Punkt ,
Punkt, dann Anwesenheit,
grüner Punkt. Und schließlich haben wir die
Datei mit einem grünen Punkt. Lassen Sie uns in allem einfach einen einfachen Bildschirm erstellen. Es handelt sich um wichtiges Material, das der Kreditgeber dann erstellt. Bildschirm. Die Rückkehr ist ein Gerüst. Körper, Zentrum, Kind. Der nächste Kalender. Kopiere alles. Gehe zum Anwesenheitsbildschirm und
änderte
ihren Namen in Tanz. Grünes Licht heute. Teilnahme. Gehen Sie in ähnlicher Weise zum
Profilbildschirm und fügen Sie alles ein. Ihr Name wurde in
Profilbildschirm und Ideenprofil geändert. Das ist momentan nur ein
Dummy-Bildschirm. Fügen Sie abschließend
diese Bildschirme dem
Hauptbildschirm hinzu, damit wir mit Hilfe
der unteren
Navigationsleiste zu ihnen
navigieren können mit Hilfe
der unteren
Navigationsleiste zu ihnen
navigieren . Also gehe hier zum Startbildschirm. Am Ende ist die Leiche hier, oder? Indiziert. Der Pfahl da drin. Dann
wird
im Index der Index aktuelle Index stehen. Und Kinder
werden alle Seiten sein. Das wird konstant sein. Schreiben wir Kreditgeber zuerst
grün, dann grün, dann
diesen Profilbildschirm. Das war's. Rette alles. Schau es dir an. Sehen Sie sich die heutige Teilnahme an. Wenn ich auf Kalender klicke. Und wenn ich habe, wenn ich auf Datei hochladen klicke und seit
Indizes anzeigt, wann es 01 ist,
lesen, dass die erste Seite angezeigt wird, ist diese Teilnahme für heute? Also
funktioniert bis jetzt alles. Im nächsten Video werden
wir
heute daran arbeiten, dann auf dem Bildschirm. Danke.
14. An der Anwesenheits-UI arbeiten: Hallo, willkommen zurück. Lassen Sie uns nun mit der Arbeit an
diesem Datum beginnen und dann die Benutzeroberfläche überprüfen. Also hier im Hauptteil, fangen wir mit seinem
einzelnen Child-ScrollView an. In diesem Kind wird
eine starre Spalte sein. Und wenn dann die Kinder und dieses einzelne
Kind rüberscrollen, gebe
ich ein paar Polsterpistolen
und bestehe darauf, dass alle 20. nun in diesen Kindern Lassen Sie uns nun in diesen Kindern ein Text-Widget haben, das sich innerhalb
des Containers überlappt. Geben Sie der IT eine Ausrichtung an eine Ausrichtung. Punkte zentriert, links. Dann margin, const, Sätze
hinzufügen, nicht nur 32. Dann Kind. Konst. Text als Willkommen. Stil. Textil Geben Sie dem
Textil etwas Farbe. Farben, nicht Schwarz 54. Und die Schriftgröße war 30. Okay, spar dir das. Und dann haben wir unter diesem Container, wie in einem anderen Container, wie in einem anderen Container, der hier
ist, die Begrüßung und hier haben wir
den Namen des Mitarbeiters. Es ist Ausrichtung. Ausrichtung, Mitte links. Dann warf das Kind einen Blick, Text. Ich heiße Louis. Das ist nur ein Mitarbeiter
namens Dummy Light. Jetzt werden wir später den
Textstil zeigen und
ihm einfach eine Schriftgröße von 25 geben. Jetzt speichere es. Lass uns nachsehen. Sehen Sie, wir haben die Begrüßung
und den Namen des Mitarbeiters hier. Dann lass uns weitermachen. Unter diesem Container. Ich nehme noch einen Container. Kopiere diesen, füge ihn ein. Hier. Es wird Spielraum geben. Als Konst. Durch das Hinzufügen werden nur 32 festgelegt. Und hier
werden die Texte zwei Tage dauern. Das tut es. Und die Schriftgröße wird ausreichen. Und dann unter diesem Container. Und dieser Container,
gib ihm einen Spielraum. Konst. Das Hinzufügen von Sätzen, die nur 12 sind. Aber ich bin 32. Ich schreibe 150. Deklaration. Konstante Schachteldekoration. Die LED-Farben Punkt
weiß, Box Shadow. Wir haben den Box Shadow hier. Nun, es
wird Farben geben, die 26. Dann
ist der Unschärferadius ein Offset, Versatzwert ist zwei. Und darunter, das ist
unter diesem Box-Shadow. Wir haben diesen Grenzradius. Randradius, die
Radiuspunkte sind kühler. Sagen wir nun, schauen wir uns an, wie es aussieht und sehen uns den
heutigen Status des Staates und das sieht anständig aus. Jetzt. Im nächsten Video werden
wir an der
linken Benutzeroberfläche arbeiten. Danke.
15. Folie zum Einchecken implementieren: Hallo, lass uns weiterarbeiten. Also hier hatten wir diesen Container. In diesem Container-Raster
das untergeordnete Zeilen-Widget. Es wird Kinder geben. Kinder hier werden
die Hauptachsenausrichtung,
Mittelpunkt, Ausrichtung, Punkte aufgeschrieben . Und dann starben Kinder und
dehnten sich starr aus. Ich hoffe, du kennst all diese Widgets, denn
ich erstelle nur die Benutzeroberfläche, sonst
nichts. X-gebunden. Dann wird es hier Column Vision
sein. Dann haben
wir in dieser Spalte wieder die
Ausrichtung und das Kreuz der Hauptachse. Kopieren Sie es einfach und fügen Sie es ein. Und dann haben wir diese Kinder. Jetzt hier. Stimmt. Es braucht ein Widget. Dieser Text wird einchecken. Gib ihm etwas Styling. Textstil. Die Schriftgröße beträgt 20, die
Farbe ist schwarz, 54. Dann unterhalb dieser
Textgröße das Feld. Warte einen Tag. Trennwand für Kinder, nur um etwas Abstand zu schaffen. Und dann noch ein Text. Nun, das Timing
ist momentan nur fest codiert 930. Dann abgestanden. Deckstil, Schrift, Größe
25. Du kannst es sehen. Es ist Rho in der Reihe. Wir haben dieses erweiterte Widget. Jetzt. Kopieren Sie dieses expandierte Rigid. Und
fügen Sie es in dieser Zeile erneut so ein. Und hier wird das Checkout sein. Und die Textur
wird so leer sein. Und speichern Sie es. Lass uns gehen und es uns ansehen. Siehst du, es sieht
anständig aus, glaube ich. Der heutige Status. Und so. Und darunter tut es der
heutige Staat. Sie können hier etwas mehr angeben
, nur um etwas Abstand zu schaffen. Das war's. Zwischen D wieder auf. Okay. Jetzt für den Check-in werde
ich ein Paket verwenden. Also schreib einfach später. Bob, füge Folie hinzu, um zu handeln. Wir werden diese Folie verwenden, um das
Aktionspaket zu implementieren, um
Funktionen
zu implementieren, einzuchecken,
auszuchecken und einzustellen. Das wird gut aussehen und
nicht nur ein Knopf. Die erhöhte Taste wird
gedrückt, um einzuchecken. Das wird gut aussehen. Ich schätze. Wir
müssen vielleicht anhalten und erneut rennen. Mal sehen, was passiert. Aber wenn ich zum Pub-Spezifikationspunkt
YAML gehe, nur um zu überprüfen, sehen Sie, wir haben das Widget
hier, tut mir leid für die Verpackung. Lassen Sie uns jetzt daran arbeiten. Gehe zu dann, dann zum Bildschirm. Ich werde alle Seiten schließen. Hier. Ganz oben. Wir müssen einen
Schlüssel für die Folie erstellen. Starrer, solider globaler Schlüssel. Der Slide-Aktionsstatus q0
entspricht dem globalen Schlüssel. Leichter Aktionszustand. Dieser Fall ist nur
erforderlich, damit das Widget funktioniert. Jetzt müssen wir unten in diese
Spalte schreiben. Das heißt, wir haben dieses
Spalten-Widget hier, geh runter. Hier. Wir müssen einem anderen Container die Ausrichtung geben. Ausrichtung in der Mitte
des linken Kindes. Die nächsten 15. April 2023. Textil Ich kodiere
diese Informationen gerade fest. Und kopieren Sie es auf ähnliche Weise
und fügen Sie es erneut ein. Hier
wird das x die Zeit sein. Also werde ich Duan
De einfach Nullnull, Nulleins-PM schreiben. Und viel Spaß, die Größe wird D sein. Die Farbe wird die Farben Punkt Schwarz sein. Fünfter Standard. Einfach
speichern. Und sieh. Dies zeigt nur
das letzte Datum. Das war's. Und das wird
diese Zeit sein, aktuelle Zeit. Jetzt ist es an der Zeit,
den Schiebeknopf zu erstellen. In dieser Spalte. Erstellen Sie einfach einen weiteren
Container. Marge. Const, füge Sätze hinzu, die nur 25 sind. Dann wird das Kind ein starrer
Baumeister sein. So wie das. Hier wird es der Kontext sein. Und dann geben Sie die
Folienaktion einfach so zurück. Und jetzt wird Text gelöscht. Um auszuchecken. Dann wird Textil Textil sein. Farbe. Schichten, dunkel, schwarz, 54. Die Größe der Anleihen wird 18 betragen. Dann unter diesem Stil. Der äußere Kreis, die äußere
Farbe wird aus Farben bestehen. Diese weiße Farbe wird die
Farbe sein, die den roten Akzent kennzeichnet. Der Schlüssel wird der Schlüssel sein. Schließlich beim Absenden. So wie das. Hier, genau richtig. Der Garden State wurde zurückgesetzt. Das macht also Licht, das kommt an seine
ursprüngliche Position. Also sieh mal, wir haben diesen Slider. Es erreicht seine ursprüngliche Position , weil wir es zurücksetzen. Aber es sieht so gut aus. Dementsprechend können
Sie einfach die Größe
des Polsterrandes angeben Größe
des Polsterrandes wenn Sie der Meinung sind, dass hier kein Platz
vorhanden ist. Sie können diese
Dinge also später tun, weil Sie hier vielleicht andere Informationen,
irgendeine Art von Werbung,
zeigen möchten . Es liegt an dir. Für mich
sollte diese Funktion funktionieren. Das war's. Das war's. Für dieses Video. Wir werden weiterarbeiten und
echte Daten erhalten , wenn dies
in den späteren Videos fehlschlägt. Danke.
16. Funktion Nutzerdaten abrufen: Hallo, willkommen zurück. Jetzt ist es an der Zeit,
eine Funktion zu erstellen die
die Benutzerdaten aus
der angezeigten Mitarbeitertabelle abruft, sodass wir diejenigen anzeigen können
, die sich hier auf dem Bildschirm befinden. Gehen Sie zur Punktdatei für DB-Umfragen. Ganz oben. Erstellen Sie zunächst eine Variable
für das Benutzermodell, die Null sein kann. Benutzermodell. Erstellen Sie dann eine Funktion. Wenn es eine zukünftige Funktion ist, die ein Benutzermodell
zurückgibt, werden wir das patchen. Es konvertiert es nicht. Dann erhalte ich Benutzerdaten. Die Abfrage lautet Benutzerdaten
entsprechen wait. Dunkler Rum von Super Way. Das heißt, welcher Tisch? Die Tabelle besteht aus Konstanten, verwendet
keine Tabelle. Und frage Punkt auswählen. Das heißt, es werden alle ausgewählt, aber natürlich müssen wir nur diesen Mitarbeiter
auswählen. Also verwenden wir gleich
, welche Spalte wir für die ID-Spalte und welchen
Wert wir überprüfen müssen. Wir müssen die
Autobahnen überprüfen, die es gibt. Die aktuelle Benutzer-ID. Das heißt, da wir wissen, dass
sie nicht Null sein kann, habe ich
diesen Ausruf gegeben. Diese Abfrage geht zur
Mitarbeitertabelle und ruft die Daten ab, die dieser ID
entsprechen. Und das heißt, er wird diese
ID überprüfen, diese Spalten-ID. Das ist sehr einfach. Dann. Und ich weiß, dass die
Daten Single sein werden und Lisa nur Single schreiben
wird,
weil es nicht mehr als einen Arbeitgeber
mit derselben ID
geben kann. Dann werde ich schreiben, dass das Benutzermodell dem Benutzermodell von Jason
entspricht. Und ich werde diese
Benutzerdaten hierher schicken. Und ich werde auch
das Benutzermodell zurückgeben. Und das ist nicht Null. Ich hoffe also, Sie haben
diese Codezeile verstanden. Also bekommen wir die Daten. Wir ändern die Daten ein Benutzermodell und speichern
sie in diesem Benutzermodell, einer Variablen, die wir oben
deklariert haben. Jetzt zeigen wir
diesen Benutzernamen oder die ID anstelle
des Platzhalters
darin und dann den Bildschirm. Also hier haben wir diesen Container-Mitarbeiternamen , mit dem ich
ein Verbraucher-Widget erstellen werde. Das ist, das kommt
vom Anbieter. Denken Sie daran, dass es auf welchen Anbieter, welche
DB, welchen Service und welchen Builder
hört . Wir haben den Kontext, die
Serviceklasseninstanz und das Kind. Dann gib deinen Stuhlbauer zurück. Und was ist jetzt die Zukunft? Die Zukunft heißt DV Surveys, Dot Get Userdaten. Also werden die
Benutzerdaten hierher gesendet. Im Builder erhalten wir den
Kontext und damit den Snapshot. Jetzt wissen wir, wie man einen zukünftigen Builder
benutzt. Das heißt, wenn der Snapshot Daten enthält, machen
Sie etwas anderes. Return, const, size, box, weight, 60, child, lineare
Fortschrittsanzeige. Und was auch immer der Benutzer hat Daten. Dann geben wir
diesen Container zurück , bei dem es sich um den
Mitarbeiternamenscontainer handelt. Vielleicht wird es den Container mit dem Namen des
Mitarbeiters zurückgeben. In diesem Text. Wir werden hier einen Schnappschuss schreiben. Das heißt, wenn es
das Benutzermodell hat, entspricht der Benutzer dem Snapshot
dieses Datensatzes, da wir
wissen, dass es sich bei den kommenden Daten um einen Benutzermodelltyp
handelt. Und hier in diesem Text schreibe
ich, wenn der
Benutzer-Punktname nicht gleich leer ist, dann schreibe ich den Benutzer-Punktnamen. Warte, lass uns sehen. Ich hoffe, nichts ist falsch. Wie die ID, so, die
Benutzer-Mitarbeiter-ID. Aber jetzt schauen wir mal. Okay, das kann nicht konstant sein. Das war's. Und lass es konstant sein. Jetzt speichere alles. Ich hoffe, Sie haben
das verstanden, indem Sie den Verbraucher verwenden und auf den Dienst zugreifen und dann die
zukünftige Funktion aufrufen. Und hier wird einfach
überprüft, ob Benutzer
seinen Namen aktualisiert hat oder nicht. Wenn nicht, dann zeige die
Mitarbeiter-ID mit ihrem Hashtag. Lass uns nachsehen. Das ist meine Mitarbeiter-ID. Und da
mein Name gerade nicht da ist, wird uns die Mitarbeiter-ID angezeigt. Dies ist jetzt erledigt, um die Daten und alles zu
formatieren. Ich werde ein Paket verwenden. Also einfach Idee. Bob, füge IN D Intel-Paket hinzu. Ich werde dieses Paket
für die Datumsformatierung verwenden. Werde zum Pub-Spezifikationspunkt
YAML gehen und nachschauen. Ja, wir haben das Paket. Jetzt. Ich möchte hier das
letzte Datum anzeigen. Also geh einchecken, auschecken. Okay. Hier. In diesem Text müssen
wir den Code schreiben. Datumsformat, okay? Dann ja, richtig, das Format, das ich will, ist
kleines VD-Großbuchstabe M und dann das kleine Y 0
mal so oft. Das automatisiert die Zeit
, die jetzt so ist. Kopieren Sie auf ähnliche Weise diese
Zeile und fügen Sie sie hier ein. Und hier. Das Format wird in Stunden, Minuten, Sekunden sein,
so, okay? Aber natürlich
werden sich die Sekunden weiter ändern. Deshalb werden wir
das in einen Stream-Builder packen. Und hier
wird Stream Punkt periodisch,
const, duration, sekunden sein, einer pro
Sekunde, aktualisieren Sie ihn einfach. Die Sekunden, die
der Wert sind, werden also ständig aktualisiert. Mach es konstant, okay. Mach es konstant. Lass es uns überprüfen. Und lass uns sehen. Ich weiß es nicht. Stream-Punkt, periodischer Schnappschuss. Lass uns
noch einmal etwas sagen und unterschreiben. Da habe ich auch ein anderes Paket
benutzt. Lassen Sie uns den Code überprüfen,
unautorisierter Hinweis. Das war wichtig. Das sollte es nicht sein, ich
sollte diesen Fehler nicht bekommen. Jet ist abgelaufen, nicht
autorisiert. Mal sehen. Ich habe das offensichtlich, dass es früher
funktioniert, dass
es gerade da war ,
dass es hier ist. Ich finde es lustig. Gehe zu diesem Splashscreen
und melde dich ab. Jetzt. Mal sehen, was veraltet ist. Okay. Das abgelaufene Token ist abgelaufen. Lass uns sehen. glaube ich nicht. Ich
habe irgendeinen Fehler gemacht. Lass uns einchecken. Überprüfe und
sieh nach. Okay, und jetzt ist
alles in Ordnung. Ich weiß nicht, was vorhin
der Editor war, aber ich melde mich einfach ab und an. Und wie Sie sehen können, ist der Cent da auschecken? Einchecken. Wir haben alles. Das war's. Das war's für dieses Video. Ich denke, wir haben hier viel getan. Während der nächsten Sitzung.
17. Anwesenheitstisch und Service-Kurs: Hallo, willkommen zurück. Wie Sie sehen können, haben
wir die Daten und die
Benutzerdaten in Ordnung, aber jetzt müssen wir am Markt und
der dichten
Funktionalität arbeiten . dafür zunächst Lassen Sie uns dafür zunächst eine neue Tabelle erstellen. Drinnen beaufsichtige und benenne es. Sie können es Teilnahme nennen. Anwesenheit, deaktiviert, vorerst Sicherheit
auf Zeilenebene
und Echtzeit aktivieren, da wir diesen
Verlauf später anzeigen werden. Jetzt. Die erste Spalte
lautet Mitarbeiter-ID, Fremdschlüssel, ein
Schlüssel, zwei, Mitarbeiter. Und die Idee hier ist
die RTD not done
Mitarbeiter-ID dieses Kunden, weil das
kein Primärschlüssel ist. Dies ist der Primärschlüssel. Fremdschlüssel können unbeschriftet sein. Einem Primärschlüssel zugewiesen. Dann gib ihm ein
Datum vom Typ Text. Dann checken Sie ein. Es wird den Texttyp lesen. Dann checken Sie aus. Es wird dx, dy sein. Hallo. Kay. Also speichere alles, ich überprüfe das
gerade. Ja, Mitarbeiterausweise,
ihr Datum ist da. Jep. Speichern. Es fügt hinzu. Okay, das ist erledigt. Jetzt hier. Gehen Sie zu Modellen und lassen Sie uns vorerst ein Modell
erstellen, und dann die Datei
und dann modellieren Sie
Punkt, Punkt, sagen wir Klasse. Und dann klüger um Null. Zeichenketten-ID. Kaufen, auf dem Laufenden sein. Inzwischen. War das Deck
in der letzten Saite. Das kann jetzt Level sein. Schaut gut aus, bis sie sterben. Erstellt am, okay. Lassen Sie uns den Konstruktor erstellen , der akzeptiert, dass dieser
Wert übernommen wird. Dieser Punkt ist erforderlich, dieses Punktdatum ist erforderlich. Es gibt keinen Check-in. Aber im Fall der Kaufabwicklung verwenden
wir nicht erforderlich, sondern wird diesen Checkout und dann erforderlich, dieser Punkt hat ihn erstellt. Jetzt holen wir uns die drei. Und dann klüger
und klüger Punkt Rahm. Jason wird eine Karte mit den dynamischen Daten
von Jane senden . Und es ist geschafft. Und
dann intelligenter. Jetzt hier, auch zur Kasse. Daten-Mitarbeiter-ID. Dann. In ähnlicher Weise lautet der
Spaltenname Jack in. Kopieren und einfügen. Auschecken. Und das wird am erstellt
und das wird mit einem Zeitstempel versehen. Also müssen wir
das Datum und die Uhrzeit analysieren, die Balken sind, weil uns die Supervisoren kein
Datum/Uhrzeitformat geben. Also werden wir hier einfach
das Format ändern. Jetzt. Um mit diesen Dingen zu arbeiten, erstellen
wir einen neuen
Dienst dafür. Gehen Sie zu Dienste erstellt und erstellen Sie ein Dateilimit. Dann Service Dot Dot. Lassen Sie uns diese Datei erstellen. Teilnahme, Umfragen, Antrag,
Änderungsnotiz des Käufers. dann, wie Sie sagten, Erstellen Sie dann, wie Sie sagten, eine Spa-Basisklasse und beaufsichtigen Sie den Isabel Dos Base
Dot Instance Dot Client. Dann, und dann modellieren
Sie, machen Sie es vorerst zu einem unbeschrifteten
. Dann hole ich mir das heute. Sie reißen das
Fälligkeitsdatum
um und
diesmal nach unten um und . Nicht jetzt. Als nächstes haben wir den Boolean. Boolean ist darin enthalten, dass der
Dienst Kopieren und Einfügen ist. Und ich erinnere mich, dass wir diesen booleschen Wert hier nicht
verwenden. Wenn Sie möchten, können
Sie es später einfach entfernen. Jetzt haben wir diesen neuen Anbieter, der zur Hauptpunktdatei
geht. Jetzt haben mehrere Anbieter diesen Namen
erwähnt, das ist die Anwesenheitsservice-Datei. außerdem in der Punktpunktdatei der
Konstanten Erstellen Sie außerdem in der Punktpunktdatei der
Konstanten eine neue statische Konstante. Dann werden sie,
sie werden sich dann so verdichten. Also ja, das ist es. Das war's für dieses Video. Im nächsten Video werden
wir an
den Funktionen arbeiten , um das herauszufinden
und dann an Status und Markt. Und dann Danke.
18. Funktion zur Kennzeichnung der Anwesenheit: Hallo, willkommen zurück. In dieser Sitzung werden
wir den
Anwesenheitsbildschirm vervollständigen und all diese
Funktionen erstellen. Lassen Sie uns also eine
Funktion erstellen, um den Status abzurufen. Die wichtigsten
Anwesenheitsumfragen finden Sie hier. Und jetzt. Lassen Sie die Zukunft der Funktion gestalten und zur Anwesenheit
kommen. Zunächst prüfen wir,
ob der Mitarbeiter heute teilweise markiert
hat oder nicht. Wenn ja, werden wir
diese Daten in unserer
Anwesenheitsliste intelligenter speichern . Das heißt, was nicht liberal ist. Lassen Sie uns eine andere Liste durchgehen. Das Ergebnis ist, dass es reichen wird. Also Bobbys Punkt, ab dem
sie Konstanten waren Punkt, dann Stabil, Punkt,
Select, Punkt gleich. Also müssen wir
die Mitarbeiter-ID überprüfen. Die Mitarbeiter-ID entspricht dem Wert. Überwachen Sie den Punkt, die
aktuelle Benutzer-ID. So wie das. Okay? Dann werden wir prüfen, ob das Ergebnis nicht leer ist,
das heißt, wir haben zumindest
einige Anwesenheitsdaten. Dann entspricht das Anwesenheitsmodell dem Anwesenheitsmodell von Jason. Der Ergebnispunkt steht an erster Stelle. Und am
Ende werden wir die
Zuhörer über die Daten für
dieses bestimmte Datum informieren . Und ich habe es auch vergessen. Hier müssen wir auch
diese Daten überprüfen , weil sie
auf dem neuesten Stand sind und enden. Das Datum entspricht dem heutigen Tag. Dass das wichtig ist, liegt auf der
Hand, weil
in dieser Kolumne viele Personen
anwesend sein werden, aber dieses bestimmte Datum und dieser bestimmte Mitarbeiter
werden nur einer sein. Deshalb habe ich zuerst result
verwendet. Das ist der Knaller und um heute die Teilnahme zu
bekommen, das heißt, ich
zeige euch auch, worüber sie mal reden. Dieser heutige Status. Okay. Dann jetzt die
wichtigste Funktion, das
Stanzen, um die Anwesenheit zu markieren. Also lasst uns das auch erstellen. Schreiben wir eine Zukunftsmarke. Die Besucherzahlen sinken. Wir benötigen die Glockenkontexte. Jetzt überprüfen
wir hier zuerst, ob Mitarbeiter
für diesen Tag eingecheckt hat oder nicht. Wenn nicht, fügen wir neue Daten für diesen Tag
ein. Und wenn ja, werden wir diese Daten nur mit
dieser Check-Out-Zeit
aktualisieren , weil der Benutzer bereits eingecheckt hat. Schreiben wir also, wenn die Überprüfung des Anwesenheitsmodells gleich Null
ist, wie hier,
dann fügen wir eine Gewichtung hinzu. Also Bobbys Punkt aus Konstanten, Punkt Anwesenheitstabelle Punkt einfügen. Okay? Jetzt
fügen wir natürlich die Daten ein. Hier. Die Mitarbeiter-ID
wird super sein. Oder geben Sie die aktuelle Benutzer-ID ein. Dann werden sie fällig sein. Überprüfen Sie dann, ob der Check-in im Datumsformat,
Stunden und Minuten erfolgt. Punkt Parlament,
Datum und Uhrzeit Punkt jetzt. Okay? Dies wird also ausgeführt, wenn der
Benutzer nicht eingecheckt hat
und angenommen, der Benutzer hat eingecheckt, dann werden wir es sofort tun. Überwachen Sie die Konstanten in
der Anwesenheitstabelle. Punktualisierung, okay? Wir werden den Wert aktualisieren, aber wenn dieser Punkt gleich ist, entspricht Mitarbeiter-ID um diese Kunst zu überwachen. Und hier
wollen wir Alice natürlich nicht, nur das heißt,
wir müssen noch etwas anderes lesen. Wenn andernfalls das Anwesenheitsmodell
Checkout gleich Null ist, das heißt, das Prüfen ist da, aber das Auschecken ist keine Kunst. Aktuelle Benutzer-ID mit Punkt. Und wieder überprüfen wir, ob Punkt gleich ist, nur für dieses
bestimmte Datum. Sie müssen also sicherstellen, dass wir nur dieses Datum aktualisieren. Okay, das ist sehr wichtig. Gehen Sie jetzt zum
Update-Bereich, der sich hier befindet. Hier werden wir nur diesen Checkout
aktualisieren. Checken Sie so aus. Kopieren Sie auf ähnliche Weise diese
Zeile und fügen Sie sie hier ein. Okay? Und jetzt haben wir
das Wenn, Else-if und dann endlich S, das heißt,
Check-in ist auch nicht Null. Checkout ist auch nicht null. Dann zeigen wir eine Snackbar mit Utils
Dot Show. Und die Nachricht wird sein, Sie haben heute schon
ausgecheckt. Okay. Dann werden
wir ganz am Ende die Teilnahme an Get
Today anrufen. Das ist so, dass es die neuesten Daten
erhält und die Benutzeroberfläche aktualisiert da wir die
Benachrichtigungs-Listener hier haben. Es werden also
die neuesten Daten aktualisiert. Mit diesem Anwesenheitsmodell, C, wie Sie sehen können, aktualisieren wir das und dann noch ein Modell hier. Okay? Ich weiß, dass es viel Code gibt, aber es ist sehr einfach. Wenn Sie irgendeine Art
von Anwendung haben, dann wissen Sie, dass
wir nur einen Datensatz erstellen, aktualisieren und löschen. Jetzt haben wir die Funktion bereit. Jetzt ist es an der Zeit, dass wir
Änderungen an der Benutzeroberfläche vornehmen. Gehen Sie also zum
Anwesenheitsbildschirm mit Punkt. Das erste, was
wir tun werden, ist,
den Init-Zustand aufzurufen
und dann einen breiteren Kontext zu setzen. Wir müssen hier
Anwesenheitsservice,
Punkt, Datum
und Dichte schreiben . Zuhören wird falsch sein. Da ich das von nun an nur noch erledigen möchte. Was ich dann will, ist hier, ich beziehe mich auf Null. Dann streichen die Dienstanbieter
die Kontexte ab, das
Gleiche gilt für Kontexte. Und jetzt haben wir das und
dann den Dienstleister hier. Ich rufe diese
Funktion hier nicht auf, da diese dafür
mehrfach aufgerufen wird, ohne
Grund,
wird auch diese Anwesenheit aufgerufen. Deshalb habe ich es
zum ersten Mal nur im Init-Zustand aufgerufen. Dann lass uns zu diesem Kinder-Check-in
gehen. Okay. Nun, hier, dieser Check-In-Text, müssen
wir ändern und diese Dinge einfach konstant
machen, weil diese Dinge konstant sein
werden. Und Li, diese Texte werden sich ändern. Das werden also
Anwesenheitsumfragen, Anwesenheitsmodell, Überprüfung sein. Wenn es Null ist, schreiben
Sie die MD-Zeit oder
schreiben Sie die Check-In-Zeit. Also diese einfache Ausgabe an
Ort und Stelle, das. Wenn es Null ist, geben Sie dies aus. Okay. Kopieren Sie in ähnlicher Weise diesen Code. Gehen Sie hier zum Checkout-Text, es wird Checkout sein, genau zu diesem Zeitpunkt hier. Wenn es Null ist, verwenden
Sie einfach den
Platzhalter und machen Sie ihn zu einer Konstante. Es gibt
auch Dinge, die konstant sein werden. Ich weiß, dass es
viele Konstanten gibt. Okay? Also das haben wir jetzt gemacht. Ich
überprüfe nur , ob alles
abgeschlossen ist und habe nichts übrig gelassen. Okay? Jetzt müssen wir den Markt exekutieren
und dann auf die Rutsche drücken. Dann verwenden sie diese
Folie zum Ein- und Auschecken. Also hier kommt die
Folie zurück, ja, diese. Zuallererst müssen wir diese Texte
bedingt ausgeben. Wir werden es also wieder tun, Teilnahmeumfragen. Anwesenheitsmodell. Wenn der Check-In gleich
Null ist, dann richtig? Schieben Sie, um einzuchecken. Hier klicken Sie mit der rechten Maustaste zum Check-in
oder leicht zum Auschecken. Das war's. Dann haben wir
das Textil auf Submit, machen es zu einem Waschbecken und rufen direkt Anwesenheitsumfragen
auf dem Markt als im dichten Kontext auf. Nachdem dies abgeschlossen ist, stellen
wir diese
Taste so ein, dass der Benutzer den Schieberegler erneut verwenden
kann. Wir haben all die Dinge getan. Es ist Zeit, wir speichern und
testen unsere Anwendung. Mal sehen, ob ein Fehler
vorliegt oder nicht. Oh, okay. Ich werde in der Anwesenheit hierher gehen
und wir werden uns einfach erfrischen. Und lass uns sehen. Hier
gibt es keine Daten. Jetzt. Wenn ich einchecke, schaue nach, wann der Check-in ist. Gibt es 18, 39. Offensichtlich
ist dieses Mal im Emulator. Deshalb denken Sie
vielleicht,
okay, hier ist die
Uhrzeit anders,
hier ist die Uhrzeit anders,
aber zumindest ist die Uhrzeit des
Mobilgeräts eingecheckt. Also lass uns gehen und nachschauen. Siehst du. Wir haben bei der
Mitarbeiter-ID Schulden Check-In erstellt ,
Check-Out ist Null. Das bedeutet, dass der Check-in perfekt funktioniert und
wir warten einfach auf, t. Das heißt, damit ich auschecken und Sie wissen
lassen werde , ob
es funktioniert oder nicht. Okay für den Geschmack da. Lass uns auschecken. Die Kaufabwicklung ist auch dort erledigt. Es funktioniert. Wenn ich jetzt nachsehe, haben wir den Checkout-Wert nur
in dieser Tabelle aktualisiert. Jetzt. Angenommen, der Benutzer
versucht erneut, auszuchecken. Dann wird hier angezeigt, Sie haben heute schon
ausgecheckt. Das heißt, du musst morgen
wiederkommen. Schließlich funktioniert der Anwesenheitsbildschirm
einwandfrei. Die gesamte Funktionalität funktioniert
einwandfrei und der Code enthält keinen Fehler. Im nächsten Video werden
wir an der
Anwesenheitshistorie arbeiten ,
damit der Benutzer
seine Busbelegung sowie die An- und
Abreisezeit sehen kann seine Busbelegung sowie die An- und . Danke.
19. Funktion zum Abrufen der Anwesenheitshistorie: Hallo. Willkommen zurück. Jetzt ist es soweit. Wir arbeiten an der Anwesenheitshistorie. Das ist unser Kalenderbildschirm. Dafür. müssen
wir ein neues Paket hinzufügen. Also öffne ein Terminal und ich füge mein Ohr hinzu, sodass der Benutzer das Jahr und
den Monat
ändern oder auswählen kann , für die er die Teilnahme
erhalten möchte. Das war's. Wenn ich zur Pub Spec
Dot YAML-Datei gehe, können
Sie hier sehen, dass ich den
einfachen Monat hier habe, größer. Okay? Als Nächstes schreiben wir die Funktion
def, um die
Anwesenheitshistorie abzurufen. Also geh dorthin und dann
den Servicepunkt hier. Ganz oben. Ich werde eine Variable erstellen
, die
einen Berg von gesuchten Daten enthält. Also hier
überlege ich nur, wo ich schreiben soll. Schreiben wir es hier. Belastung. Die Teilnahme beträgt drei. Der Monat entspricht dem apikalen m-,
M- , m- und dem kleinen Punktformat y, y,
y, y. Die Zeit. Jetzt k. Dann werde ich da hingehen. Ich werde es dort ankommen lassen, Teilnahme
einholen, Monat der Geschichte. Und ich werde einen Wert dafür senden. Und dann werde ich festlegen ihre Anwesenheitshistorie
festlegen. Monat. Wir werden dann hier Wert legen. Wir möchten, dass der Anwesenheitsmonat dem Wert
entspricht und die Zuhörer
benachrichtigen. Wir sind also einfach nur
Dies ist der Monat, in dem die Anwesenheitshistorie gründlich überprüft wird. Also ganz am Anfang wird
der Monat nur
tot gemeint sein. Und wenn du willst, kannst
du es ändern. Deshalb verwende ich das
, damit er
die Daten bereits erhält, wenn es zum Anwesenheitsbildschirm geht ,
zumindest für diesen Monat ,
zumindest für diesen Monat. Jetzt erstellen wir
eine Funktion, um
eine Zukunft zurückzugeben , wobei diese
Datumsspalte für die
Suche Montagnier überprüft wird. Also lass uns gehen. Stimmt. Intelligente
Anwesenheitsliste für die Zukunft. Holen Sie sich die Teilnahme, Geschichte. Ein Waschbecken. Und Diane, okay. Nehmen wir zunächst an, die Abfrage
nach Analystendaten entspricht den dunkelbraunen Konstanten
Await Superbus. Dann stabil. Punkt auswählen Punkt entspricht Spalte, Mitarbeiter-ID, entspricht Kunst
beaufsichtigen,
aktuelle Benutzer-ID. Und dann machen wir
so etwas wie eine Punkttextsuche, weil
wir das Datum in einer Zeichenfolge haben. Also speichern wir auch hier
die Daten in Zeichenketten, also werden wir einfach vergleichen. Das heißt, die Abfrage besteht doppelten Anführungszeichen und dann
in den einzelnen Codes und dem Monat der Anwesenheitshistorie. So wie das. Und die Konfiguration wird Englisch sein. Englisch, so. Reihenfolge, die beim
Aufsteigen auf Falsch erstellt wurde. Wie Sie sehen können, haben
wir Finalisten. Die Daten entsprechen einem
durchschnittlichen Superbus, bei
konstantem Start an einem instabilen Punkt die gleiche Mitarbeiter-ID
auswählt, die der
Supervise-Art-Benutzer-ID entsprechen sollte. Dann Punkttextsuche. Wir werden die
Datumsspalte überprüfen und alle Zeilen abrufen, was diesem Monat entspricht. Deshalb schicken wir diesen
Anwesenheitsmonat. Und dann sollte die Reihenfolge
in absteigender Reihenfolge sein. Danach geben wir die Datenpunktkarte
zurück. Wir werden die Daten kartografieren. Wir werden die Teilnahme bekommen. Es wird
Anwesenheitsmodell Dot Jason sein. Wir werden jede Teilnahme senden. Und schließlich werden wir
diese Daten in eine
Zeichenfolge konvertieren , in eine Liste. Dies wird also zu einem
Anwesenheitslistenmodell. Das ist also die
Funktion. Das war's. Für dieses Video. Wir werden in
den
kommenden Videos am UI-Teil arbeiten . Danke.
20. Arbeit an der Benutzeroberfläche: Hallo, willkommen zurück. Lassen Sie uns jetzt mit der Arbeit
an diesem Kalenderbildschirm beginnen. Hier zeigen wir die
Anwesenheitshistorie
des Mitarbeiters für einen
bestimmten Monat und ein bestimmtes Jahr. Das erste, was wir tun werden ist die Teilnahme des Anbieters. Surveys ist unglaublich ähnlich wie know
Vida dot of context. Und ich schrieb, ich sollte es
ausschneiden und in
den Rechnungs- und Anwesenheitsservice einfügen . Okay. Wir haben den
Anbieter. Ja. Sie werden die
Kolumne Harlem zurückgeben als die Kinder. Behälter. Der Container gibt
die Ausrichtung an die Ausrichtung. Mitte links. Dann margin, const, füge in Sätzen , dass nur links de dop 60 ist. Unterseite. Dann
wird Child Const Text sein. Meine Teilnahme. Stil, Textil, geben Sie Duff Schriftgröße 25. Okay. Dann unter diesem Container, Zeile, Domain X steht die Ausrichtung. Die Ausrichtungspunkte verteilen sich gleichmäßig. Hier. Wir werden den
aktuellen Monat
sowie eine Schaltfläche zur Auswahl eines Monats anzeigen . Schreiben wir also, dass Kinder
plus Texte sein werden. Dann dann Umfragen. Teilnahme, Verlauf, Monatsstil werden konstant sein. Decks, ist gestorben. Nun in Größe 25. Dann haben wir
eine Gliederungsschaltfläche. Als nächstes ist Woche, Monat. Mach es konstant. Okay. Das ist ein Monat geworden. Machen Sie es vor Ort zu einem Waschbecken. Dann schreibe Pi noch einen. Wählen Sie aus. Die ID
entspricht hier dem einfachen Monat, da dies das
Paket Dot Show Monday ist. Weil der Dialog hier, wir haben das und wir müssen
schreiben, Disable Future
ist gleich wahr. Das bedeutet, dass dies zukünftige
Jahre unmöglich machen wird. Offensichtlich kann der Benutzer
nicht in
zukünftige Jahre gehen und
seine Anwesenheitshistorie abrufen. Dann
werden wir einen großen Monat lang schreiben. Das heißt, wir müssen
dieses Datum in unserem eigenen Format formatieren, das überall verwendet wird. Also sagen wir einfach großes M viermal
klein vi viermal klein. Dies wird uns helfen,
die vorhandenen Daten zu vergleichen. Wir haben Texte oder einen Kanal. Deshalb
formulieren wir ein ausgewähltes Datum. Lass uns sehen. Lass es auf diesen einfachen Berg warten. Und dann ändere einfach
das bei Mieterbefragungen. Anwesenheit, der
Servicemonat wird als Monat ausgewählt. Nun, wenn Sie gehen, das sind die
Anwesenheitsumfragen, der Monat der Geschichte. Das ist ein Setter. Siehst du? Wenn wir also den Wert festlegen, wird sich
dessen Wert ändern. Und benachrichtigen Sie dann
den Hörer, dass der Bildschirm erneut aufgebaut
wird. Deshalb werden wir den
letzten Monat in den Text aufnehmen. Also, wenn ich es aktualisiere, wenn ich es aktualisiere und sage, wir haben ein Verschiedenes,
warum ist dann diese Null hier? Frau denkt nach? Ich weiß nicht, was
in deinem Handy ist. Ich hoffe, es gibt keine Natter. Habe alles richtig gemacht. Und dann Tanzgeschichte, m, M, m. Und ich glaube, wir
haben diese zusätzliche Zeile gegeben. Deshalb ist das
der einzige Grund. Es ist ein sehr dummer
Fehler, dass wir
sicherstellen müssen , dass diese Dinge miteinander verbunden
sind. Also, wenn ich neu starte, und ich hoffe, es ist Charakter, wenn ich eine Brailleschrift sehe, 2023, wenn ich sie auswähle und bis März, dann
ist es März. Okay. Das heißt,
es funktioniert bis hier. Lassen Sie uns nun den Future
Builder erstellen, um die Daten
abzurufen , indem wir die Funktion get dependence
History aufrufen. Lass uns darunter liegen. Wir werden den
Anfang schreiben, dass die Zeile diese Zeile offensichtlich durcheinander bringt. In der Spalte
müssen wir x-Bindung schreiben. Dann bist du Chart Builder. Die Zukunft wird es sein,
dann Umfragen, bei denen die
Anwesenheitshistorie erfasst wird. Hier wird es Kontexte angeben, Kontext wie das Sehen von
Schnappschüssen, Schnappschüsse. Jetzt fügen wir hinzu, ob Snapshot das hat, dass sie
nichts getan haben. Als Gegenleistung, const. Linearer Fortschrittsindikator. Hintergrund, Farbe,
Farben weiß. Und Farbrad, Farben,
Grau, so. Und hier, wenn der
Snapshot Daten enthält, überprüfen
wir auch hier den Snapshot , dessen Datenpunktlänge
größer als Null ist. Das heißt, ob es eine
Geschichte gibt oder nicht. Wenn nicht, geben wir den untergeordneten Text
const center zurück . Und hier in den Texten werden wir keine verfügbaren Daten
schreiben. Erstellen Sie den Textstil, Schriftgröße 25. Das war's. Was wir nun tun werden, ist, wenn die
Punktlänge des Snapshot-Punkts größer als Null ist, dann geben wir eine Art Widget aus, was wir
im nächsten Video tun werden. Danke.
21. Die Verlaufsdaten anzeigen: Hallo, Lass uns
im Kalenderbildschirm weiterarbeiten. Nun, hier, wenn der Snapshot diese
Datenpunktlänge größer als Null ist, geben wir ein Builder-Widget für
Listenansichtspunkte zurück. Hier. Die Anzahl der Elemente entspricht den
Snapshot-Punktdaten und der Punktlänge. Artikel. Unten wird es sein. Hier. Es wird Kontexte
und einen Index haben. Dann werden wir auf
die Idee kommen und dann klüger,
da wir wissen, dass Papa stirbt, wenn er in die Art von
Anwesenheitsmodell kommt. Also dann, dann,
dann sind Daten eine gute Momentaufnahme. Daten. Index k. Geben jetzt den Behälter zurück. Margin, weg. Randeinsätze. Gib ihm nicht nur 12, links, gib ihm 20, rechts, gib ihm 20. Unterseite. Gib zehn. Dann Höhe. 150. Dann Deklaration. Const, Kastendekoration, Farbe, Farben Punkt weiß,
Farben Punkt weiß. Dann hat Box Shadow die Farben der
Box Shadow, schwarz. Wenn diese sechs
Ideen dann verschwimmen, werden
zwei zu k versetzt . Offensichtlich richtig? Jetzt. Warte einfach. Wir haben den Box Shadow. Dann danach, diese
Out-the-Box-Dekoration, nicht Saudi, nach der Schachtel. Aber das stimmt. Randradius, Randradius Punktradius
, dieser Kreis 20. Jetzt gib das Kind
in den Behälter. Und der Container reiht es ein. Die Hauptausrichtungsmatrizen sind vorhanden, Achsenpunktmittelklasse wird ebenfalls zentriert sein. Dann werden wir diese Kinder haben. Also K, wie Sie hier
sehen können, Kinder. Dann lasst uns jetzt
an diesen Kindern arbeiten. Die ersten Kinder werden erweitert. Containerrand, Konstante,
Hinzufügen von Sätzen. Am Ende. Mal sehen, welchen
Wert wir geben werden. Ich überprüfe den Regler
auf Const, Box Decoration. Farbe, Farben, roter Akzent, Randradius, Randradius Punkt,
Radius, kreisförmige Punkte 20. Okay. Dann gib diesem Behälter
ein chirales Zentrum. Nun, wir werden das Datum und das
Datumsformat hier drinnen einhalten , oder? Großbuchstabe E Dann ändere
diese Zeile in diese. Wir werden die Daten haben,
den Sonntag, Montag und das Datum. Format. Anwesenheitsdatum
wurde erstellt, da dies genauso wie das Datum sein
wird. Es wird also viel
einfacher sein, es zu ändern. Dann gib ihm etwas Stil. Konst. Textil. Bei der Größe wird es sich um eine dünne
Farbe handeln. Punkt weiß. Schriftstärke, Schriftstärke, fett. Okay. Wir haben diese und
danach erweiterte, richtig, eine weitere erweiterte Region. Wir haben eine Spaltenmatrix ist Ausrichtung Haupt
Extrazellulär mein Rechenzentrum, Querachsenausrichtung
Kreuz x ist Element , dass Zentrum als Kinder. Darin checken Kinder
ständig per SMS ein. Jetzt zeigen wir die
An- und Abreisezeit an. Der Stil gab ihm einen gewissen Textstil. Schrift, Größe, Duan
De, Farbe, Schwarz. Dann weg, gib einfach, gib ein Kästchen, Gewicht. Das Kind teilt das auf. Das ist dasselbe wie der Bildschirmtext, den ich damals
nicht gemacht habe. Dann geben Sie Punkt, Punkt, Check-in an. Stein, const, textile,
Schriftgröße, gib 25 an. Okay. Wir haben die Kolumne hier. Wir haben das erweitert. Und dann kopiere auf ähnliche Weise diese Jacqueline, die expandiert und eingefügt wird. Und wir haben
Hauptachsen, Querachsen. Dann wird der Text zur Kasse geschickt. Das ist okay. Wir haben den Teiler
dann hier, oder? Checkout Punkt toString. Und wenn es null ist, dann schreibe diesen
Platzhalter so. Und nachdem dies erweitert wurde, geben Sie ihm
einfach ein Größenfeld
, das sich in dieser Zeile befindet. Denken Sie daran,
geben Sie mir außerhalb dieses erweiterten Feldes ihre Größe. Führen Sie jetzt die App aus. Und richtig
tritt immer noch auf, wenn es in meinem System die
Autorisierung und so
angezeigt wird . Das liegt daran, dass ich
einen Emulator verwende , weil
ich
die gesamte Anwendung auf
einem echten Gerät getestet habe die gesamte Anwendung auf
einem und sie
einwandfrei funktioniert hat. Also ich denke, wenn du es auf deinem Gerät
probierst, wirst
du diese Art von
unautorisierten und abgelaufenen nicht bekommen. Und jetzt gehen wir
zum Splashscreen. Melden Sie den Benutzer ab. Nun k i. Nun diese Fehler, du wirst dieses
Fehlerszenario nicht niedriger
bekommen ,
weil das momentan ein virtuelles Gerät ist
und ich glaube dass die Zeit auch anders ist
als R. Also werde
ich nochmal gehen und mich anmelden. Ich habe diesen Check-Out. Und wenn ich auf den Bildschirm gehe und
sehe, dass ich die Daten und wenn ich einen Monat auswähle
und März gebe, dann sind keine Daten verfügbar. Wenn ich eine Brailleschrift auswähle, dann haben wir das An
- und Abreisedatum. Und wenn du zum
Kalender gehst, glaube ich nicht. Sie benötigen, dass es ein leeres Set
gab. Das brauchst du nicht weil ich finde, dass der Abstand und
alles gut aussehen. Das ist so, dass
wir ganz am Ende die Größenbox gemacht haben. Also das ist der, deshalb haben
wir diesen Raum hier. Weil aufgrund der erweiterten Version alles gleich viel Platz beansprucht. Aber ich glaube, das
sieht anständig aus. Das ist es also. Unser Bildschirm
mit der Anwesenheitshistorie funktioniert ebenfalls einwandfrei. Also lasst uns in
diesen zukünftigen Videos weitermachen. Danke.
22. Funktion zum Abrufen des Standorts des Mitarbeiters: Hallo, willkommen zurück. In diesem Video werden wir eine Funktion
implementieren, mit der der aktuelle
Standort des Benutzers ermittelt werden kann. Während wir also an der Kasse
einchecken, speichern
wir auch den Standort des Benutzers,
damit
der Arbeitgeber leichter überprüfen kann , ob der Mitarbeiter im
Büro ist oder nicht. Also machen wir einfach den Standort. Ich werde nicht
die Entfernung überprüfen und so. Aber mit diesen Daten können
Sie natürlich sehr einfach
die Entfernung zum Büro und zum
Benutzer überprüfen . Um diese Funktion zu implementieren, verwende
ich nun das als Location bekannte
Paket. Hier. Das ist das Paket. Kopieren Sie es einfach und fügen Sie es in die
Pub-Spec Dot YAML-Datei ein. Mit diesem Standort erhalten wir den Breiten- und Längengrad. Also stopp es einfach und
starte die App erneut. Weil wir ein neues Paket
installiert haben. Gehen Sie einfach und beginnen Sie mit dem Debuggen. Und wie gesagt, wir werden den Breiten-
und Längengrad des Benutzers speichern. Und später, wenn Sie möchten, können
Sie das Paket name is
geocoding verwenden , um den Straßennamen,
die
Stadt, das Land und andere
Details aus der in diesem
Paket bereitgestellten
Ortskoordinate abzurufen. Es liegt also an dir. Der Paketname ist Joe. Warte, ich werde es dir auch
zeigen. Dieses Mal
passiert es mit dem Codieren. Ich glaube, es war
etwas zum Programmieren. Aber Sie sehen, das ist
der Name Geokodierung. Jep. Sie können das selbst
verwenden, wenn Sie möchten. Jetzt, an dieser Stelle, werde
ich
diesen Code verwenden und ich werde diesen Code
sehen, den ich verwenden werde. Lassen Sie uns nun
eine neue Serviceklasse erstellen. Insights-Dienste. Kreative Datei. Standort, Service, Punkt, einfach richtiger
Ortungsservice. Dies ist nicht der Anbieter.
Und teile es auf. Ich werde Material importieren. Dann importiere ich den Standort. Das war's. Erstellen Sie nun eine Instanz
des Standorts. Dann, richtig? Standort, Daten. Daten protokollieren. Erstellen Sie dann eine Funktion, die eine Karte
der Zeichenfolge Double
, also Breitengrad und Längengrad, zurückgibt . Und manchmal kann es Null sein. Initialisieren und Standort abrufen. Wir werden hier die Vorstandssache machen. Standort, Kontexte, Kontexte,
um die Snackbar anzuzeigen. Jetzt wird der Code wie bei Booleans
sein. Umfragen ermöglichen Erlaubnis,
Status. Erlaubnis. Bewilligt. Prüfen Sie zunächst, ob der Standort aktiviert ist oder nicht. In diesem Gerätedienst und es ist gleich, auf den Standort zu
warten. Dienste aktiviert. Wenn Service nicht aktiviert ist, setzen wir Service
Enable auf 08. Service zur Anforderung von Standortpunkten. Wenn dann der Service aktiviert ist, nochmal Phrase, dann waren wir
wie die Utils Dot Show Snack Bar. Bitte. Standort aktivieren,
Dienst wie diesen. Und wir werden hier Null zurückgeben. Der andere Code
wird nicht ausgeführt. Das wird also der Fall
sein, wenn der Dienst ihnen nicht aktiviert
ist. Okay? Dann werden wir nachschauen. Wenn der Dienst aktiviert ist. Bitten Sie dann den Benutzer um die Erlaubnis zum
Standort. Das bedeutet, dass der Benutzer
ein Pop-up erhält , über das diese
App auf den Standort zugreifen kann. Jetzt haben wir also die Erlaubnis
erteilt, was gleichbedeutend mit dem
Warten auf den Standort ist , der die Erlaubnis
hat. In ähnlicher Weise schreiben wir, ob erteilte
Erlaubnis
dem Berechtigungsstatus Punkt verweigert entspricht . Fügen Sie dann erneut
die Erlaubnis hinzu, die dem Standort
warten entspricht , und
fordern Sie die Erlaubnis an. Und auch hier gilt Wenn eine
erteilte Genehmigung nicht
den Genehmigungen entspricht, wurde der Schreibtisch erteilt. Dann die Utils Dot Show Snackbar. Bitte geben Sie Standort, Überschreitung von hier aus Null
zurück. Und wenn das nicht der
Fall ist, ist alles in Ordnung. Nachdem die Erlaubnis erteilt wurde, geben
Sie die Koordinaten zurück. Einfach
Logdaten schreiben entspricht
waiting location that getLocation. Und gib es von hier zurück. Eine Karte mit Daten. Sei der Dude gleich dem
Breitengradelement für
Logdaten für
Logdaten Breitengradelement . Hier. Dieses Double kann auch Null sein. In ähnlicher Weise
entspricht der Längengrad dem Logdatenpunkt edu. Sie fragen sich vielleicht, was ist das für ein Code? Wenn Sie also zur
offiziellen Dokumentation gehen, erhalten
Sie hier den
genauen Code. Du kannst also einfach lesen oder
kopieren oder was auch immer du willst. Es liegt an dir. Wir hören uns
keine Änderungen
im Hintergrund
an und aus diesem Grund nehmen
wir keine Einstellungen vor. Das ist die Erlaubnis und der gesamte Zugriff auf
den Vordergrund und den Hintergrund. Diese Art von Sachen.
23. Standort des Geschäfts beim Check-in: Okay, jetzt, da
wir diese Daten
darin und dann stabil speichern werden, müssen
wir einige Änderungen vornehmen. Gehen Sie also zum Anwesenheitsmitarbeiter. Und bei dieser Teilnahme bearbeiten Sie die Tabelle und fügen Sie eine Spalte hinzu. Ort des Check-ins, der im Kartenformat
sein wird , ist Jason. Und ähnlich wie
beim Auschecken. Dies wird ebenfalls im
JSON-Format sein. Speichern Sie es einfach. Jetzt müssen wir den Markt
und dann seine Funktion
ändern. Hier in Dänemark
erlaubt die
Anwesenheitsfunktion die Teilnahme also erlaubt die
Anwesenheitsfunktion die Teilnahme nur, wenn diese
Standorterlaubnis erteilt wurde. Also hier zunächst
map, nullable, get location
entspricht await location,
service, initialize
und getLocation. Okay? Dann schreibe ich,
wenn getLocation nicht gleich null ist,
dann führe ich es nur aus. Dies sind Codes von hier, kopieren Sie sie und fügen Sie sie hier ein. Okay? Und hier müssen
wir diesen Ort natürlich speichern. In der Beilage werden
wir also den Ort
mit einer großen GetLocation einchecken. Und in ähnlicher Weise
wird beim
Auschecken gelesen, dass der
Checkout-Standort getLocation ist. Andere Dinge werden gleich sein. sind wir, denken Sie daran,
dass
wir einfach diesen Standort speichern . Sonst nichts. Wir werden diesen Standort nicht verwenden, aber zumindest wissen Sie,
wie Sie den Standort ermitteln können. Das Letzte, was wir tun müssen, ist,
ihr Anwesenheitsmodell zu ändern. Stimmt es? Finale, Karte. Standort einchecken. Inzwischen. Standort auf der Karte auschecken. Hier. Es wird dieser
Punkt-Check-In-Ort sein, dieser Punkt Check-Out-Ort, also wäre er nicht erforderlich. Denken Sie auch hier daran. Wir werden schreiben, dass der
Ort des Check-ins als Daten angegeben wird. Standort einchecken. Die Daten zum Checkout-Standort
werden als Check-Out-Standort verwendet. Das ist es also. Ich werde diese Daten, die
Anwesenheitsdaten, entfernen , da ich möchte , dass dieser Check-In-Ort
ebenfalls gespeichert wird. Lassen Sie uns die Anwendung testen. Siehe Check-in, Check-out
ist nicht da. Wenn ich also rutsche, wird nach dem Standort des Geräts gefragt, ich akzeptiere es. Lass uns sehen. Ich hoffe, es
gibt keinen Adder, weil ich weiß, dass bei einem physischen
Gerät kein Fehler auftritt, aber bei diesem Emulator bin ich mir nicht sicher
. Lass uns sehen. Es gibt keinen Fehler, wann. Also hier in Anwesenheit, Bildschirm, Markt und Linse. Aber was ist, wenn der Standort in Ordnung ist? Angebote zeigen die Snackbar nicht an. Der Standort
des Werfs kann nicht ermittelt werden. Welche Farbe wird rot gefärbt? Denn offensichtlich ist
Gott und mach dich daran
, damit der Zustand aktualisiert wird. Aber schauen wir mal, was passiert ist. Wenn wir das überprüfen. Okay, wie Sie hier sehen können, funktioniert
es nicht. Was ich tun werde, ist,
dir das zu zeigen , als
in einem echten Gerät zu laufen. Jetzt habe ich
mein echtes Gerät angeschlossen und lassen Sie uns überprüfen, ob dieser
Standort funktioniert oder nicht. Also, wenn ich diese
leicht einchecken muss, ja. Ich werde nach meinem
Standort fragen und ich habe ihn angegeben. Und sieh. Wir haben diesen Check-in und dieser Standort ist in etwa
erfolgreich, glaube ich. Also. Hier haben wir den
Check-In-Standort. Wie Sie sehen können, funktioniert
es perfekt
in einem echten Gerät. Bisher war das einzige Problem, dass es sich um einen Android-Emulator handelte. Das ist der einzige Grund,
sonst funktioniert es gut. Wenn ich erneut auf Checkout klicke , haben
wir den
Ort und die Uhrzeit der Kasse aktualisiert. Das war's für den
Ort und die Geschichte. Diese beiden Seiten
funktionieren einwandfrei. Im nächsten Video werden
wir an diesem
Profilbildschirm arbeiten. Danke.
24. Funktion, um alle Abteilungen zu erhalten: Hallo, willkommen zurück. Jetzt beginnen wir mit der Arbeit an dem Profilbildschirm
, auf dem
alle Abteilungen abgerufen und der Benutzername
aktualisiert wird. Lassen Sie uns dafür zunächst ein neues
Modell für die Abteilung erstellen. Richtig? Abteilung Punkt, Punkt,
Abteilungsmodell, Punkt, Punkt, Punkt. Dies ist eine neue Modellklasse. Der Teil bedeutete Modell. Letzter Int. Wir werden die ID haben, also die Abteilungs-ID
und die binäre Zeichenfolge. Wir haben bereits
einige Abteilungen in
ihre Datenbank aufgenommen. Abteilungsmodell erforderlich, diese Punkt-ID erforderlich,
dieser Punkttitel, dann erstellen Sie eine Fabrik. Abreise, als ein Modell von Jason dynamische
Kartenzeichenfolgen gesendet
hat. Dann drehen sie sich um. Abteilungsmodell. ID steht für Daten, ID und Titel sind Daten und Schlüssel ist Titel, da es sich um ein Kartenformat handelt. Okay, wir haben das Modell fertig. Jetzt. Gehen wir zu den DV-Diensten. Da wir
es dem Benutzer ermöglichen,
seinen Namen und seine Abteilung
in seinem Profilbildschirm zu aktualisieren . Lassen Sie uns also Panchen erstellen, um alle Abteilungen in
diese DV-Dienste einzubeziehen. Also hier, das stimmt. Du hast gejubelt. Breit. Holen Sie sich Abteilungen. Asynchron. Jetzt werden wir zuerst
einige Zustandsvariablen erstellen. Zuerst werden wir die Abteilungen
auflisten. Modell. Abteilungen ist vorerst
die leere Liste. Und wir werden eine
Ganzzahl-Mitarbeiterabteilung haben, das ist die aktuelle
Mitarbeiterabteilung. Dies wird auch
geändert , wenn der Benutzer etwas anderes
auswählt. Also wirst du es in gewisser Weise verstehen. In diesem Abrufen der Benutzerdaten
können wir
nun hinzufügen, können wir hinzufügen ob die Mitarbeiterabteilung gleich Null
ist, dann den Mitarbeiter angeben. Wenn es Null ist, dann richtig, Mitarbeiterabteilung entspricht dem
Benutzermodell. Die
Abteilung des Benutzermodells tut nichts. Also, was ich getan habe, war, du musst das verstehen. Das heißt, dieser lustige Chen kann mehrfach angerufen werden,
das heißt, wann immer wir ihn
aufrufen, benachrichtigen wir die anwesenden Zuhörer ,
Anwesenheitsbildschirm. Diese Funktion wird es aufrufen, da es dort ein zukünftiges Testament hat. Dann wird also
der Abteilungswert zurückgesetzt, der Teil, wenn der Wert. Deshalb
verwenden wir eine Bedingung , der nur
dann ein Wert zugewiesen wird, wenn eine Abteilung leer ist. Das ist zum ersten Mal. Ich hoffe du hast das verstanden. Um Lee und der Zeit zuzuweisen. Das war's. Jetzt im Bauch alle Abteilungen. Schreiben wir eine Funktionsliste. Das Ergebnis ist ein Gewicht. Superbus, Abschlussball, konstante
Startabteilungstabelle, diesmal Punkt auswählen, wir wählen
alle Abteilungen aus. Dann fügen wir alle
Abteilungen hinzu, was
dem Ergebnis entspricht . Punktkarte. Hier werden wir eine
Abteilung haben. Dann richtig? Abteilung. Hier müssen wir Abteilungsmodell aus
JSON
schreiben und wir werden die Abteilung
schicken. Schließlich alles
auflisten und dann
die Listener benachrichtigen , um
den Wert zu aktualisieren. Das war's. Denn hier verwenden wir den
Listener, der in die Benutzeroberfläche aufgenommen wird. Wir werden die
Benutzeroberfläche mit dieser Variablen verbinden. Es ist, wir werden uns diese
variablen Daten anhören. Deshalb. Das ist es also. Wir haben eine
Funktion erstellt, um alle Abteilungen in
den kommenden Videos zu sehen. Wir werden auch eine Funktion zum
Aktualisieren des Profils erstellen. Im Juni.
25. Funktion zur Aktualisierung von Profildaten: Hallo, willkommen zurück. In diesem Video werden wir die
Def-Funktion schreiben, um
die Profildaten
im DB-Service zu aktualisieren , oder? Zukunft. Profil aktualisieren. Wir benötigen den
Namenskontext Bill. Und wir werden einfach warten. Das sollte ein Waschbecken entfernt sein. Es ist super Möglichkeiten, dass
Rahm, konstanter Start, Mitarbeiter Tabelle Punkt aktualisieren Name. Wir werden mit ihrem Namen aktualisieren. Und Abteilung. Wir werden mit dem Wert der
Mitarbeiterabteilung aktualisieren, der die nächste Statusvariable ist. Es ist hier. Von
Anfang an. Wir werden es
mit dem vorherigen Wert initialisieren. Und hier müssen wir den Punkt
gleich verwenden , weil wir live ändern
müssen wo ID gleich ist, um
die aktuelle Benutzer-ID zu überwachen . Nachdem es fertig ist, werden
wir die Dodge Snack Bar nutzen. Verwandtes Profil, erfolgreich
aktualisiert. Und wir werden den Farben Dunkelgrün Farbe
geben. Und wir werden
die Zuhörer benachrichtigen. Name in der
Anwesenheitstabelle, der die
Willkommens-ID oder der
Willkommensname ist, wird also automatisch aktualisiert, wenn wir hier die Option „Listener benachrichtigen“
verwenden. Gehen wir zum Profilbildschirm. Hier. Wir müssen anfangen, daran zu arbeiten. Lassen Sie uns zunächst
einige Variablen erstellen. Voller Controller für die
Textbearbeitung. Der Name-Controller entspricht dem
Textbearbeitungs-Controller. Und dann ist der gewählte
Wert int gleich Null. Mal sehen, was wir tun werden. Wird das erforderlich sein oder nicht? Wir werden das später überprüfen. In den Kontexten
, in denen dies nicht der
Fall ist, erstellt die Rechnung zuerst den
DB-Dienstanbieter, den
Dienstanbieter-Kontext . Kontext. Und dann benötigen wir den DB-Service. Danach werden wir
DV-Umfragen durchführen. Die ganze Abteilung. Wenn es leer ist, das
nicht initialisiert wurde, dann rufen Sie die DV-Umfragen auf und
holen Sie sich, dass alle Abteilungen
nichts tun. Dieser Code bedeutet, dass Sie die Get
All-Abteilung nur einmal anrufen. Dann werden wir dem
Controller den Text nennen. Wenn es leer ist, verwenden
Sie benannter Controller Der Textwert
lautet dv service, user model, dot name. Und wenn das auch
leer ist, mach es leer. Das ist eine leere Zeichenfolge. Das heißt, wenn diese Seite
zum ersten Mal geladen wird,
fügen Sie
die fügen Sie Name-Controller-Texte in den Name-Controller ein, sodass
sie dem Punktnamen des Benutzermodells entsprechen. Und nehmen wir an, der Benutzer hat seinen Namen
nicht aktualisiert, dann verwende einfach die
leere Zeichenfolge. So wie das hier. Wir verwenden diese Bedingungen unter
Verwendung der folgenden Bedingungen. Weil der Gürtel mehrmals
aufgerufen werden kann , wenn Notify Listeners
verwendet werden. Das ist der einzige Grund. Lassen Sie uns jetzt am
Körper arbeiten. Im Körper. Wir werden prüfen, ob das
Dienstbenutzermodell gleich Null ist. Zeigen Sie dann eine Fortschrittsanzeige an. Denn wenn Sie ein Modell
verwenden, ist es natürlich nicht da, wie wir die Daten zeigen können. Fangen Sie jetzt mit der
Polsterung Rigid Const und beginnen Sie stattdessen mit unserem Duan De. Dann wird Child eine einzelne
untergeordnete ScrollView-Spalte sein. Dann existiert das Hauptelement, das ist die Hauptausgangszelle
in Mendota, Mitte. Querachsenausrichtung,
Querachsenausrichtung. Das ist zentriert. Und dann haben wir
diese Kinder 0,
k. Also lass uns von hier aus weitermachen. Im nächsten Video. Im nächsten Video haben
wir das TextField und eine
Option zur Auswahl der Abteilung sowie eine Schaltfläche zum
Aktualisieren der Benutzerdetails. Ich danke dir.
26. Dropdown-Menü zur Auswahl der Abteilung: Hallo, Lass uns
in diesem Profilbildschirm weiterarbeiten. Also hier in dieser Kolumne haben
wir diese Kinder. Und innerhalb dieser Kinder beginnen
wir mit der
Erstellung eines Containers. Container, gib ihm einen Spielraum
von Const und Inserts zu Lee. Auf der Höhe hunderthundert. Dekoration, Kartondeklaration. Grenzradius, Grenzradius. Punkte sind cooler. 20 Farbfarben prägen
den roten Akzent. So wie das. In diesem Kind. Schreiben Sie einfach Zuschüsse. Und drittes Kind, wir
werden ihm eine Ikone geben. Also das, das ist
nur für den Use a Look, den diese Person hinzugefügt hat. So sieht die Seite aus. Wenn Sie möchten, können Sie
das Hochladen von Bildern implementieren und so weiter. Hier. Dies ist das Feld und darunter
dieses Feld in der Containergröße, das Feld mit der Höhe 15. Dann
entspricht die SMS-Mitarbeiter-ID , wir rufen den DB-Service an. Die Umfragen sind das UserModel,
nicht die Employee ID. Wir zeigen ihm die
Mitarbeiter-ID, die wir erstellt haben. Darunter befindet sich heute eine
große Kiste mit KI. Und dann hab es TextField x will controller,
name controller. Die Kollisionskonste,
Eingabedeklaration, Bezeichnung, Text, vollständiger Name, vollständiger Name. Rahmen angeben,
Eingaberahmen umreißen. Jetzt speichere alles. Mal sehen, wie es aussieht. Sehen Sie, wir haben die Mitarbeiter-ID. Es sieht nach Abstieg aus. Wir haben
hier das TextField für den vollständigen Namen. Jetzt erstellen wir hier ein Drop-down-Menü, in
dem der Mitarbeiter seine Abteilung
auswählen kann. nun unter diesem Textfeld Geben Sie nun unter diesem Textfeld ein Größenfeld mit einer Höhe von 15 und schreiben Sie DV-Umfragen. Nicht alle Abteilungen
sind leer. Dann schreibe const, lineare Fortschrittsanzeige
oder auch Harris Size Box. Da ich weiß, dass es nicht leer
sein wird, weil ich die
Daten
bereits in die Datenbank eingefügt habe. Deshalb werde ich einen
linearen Fortschrittsindikator anzeigen. Jetzt in der Größenbox. Geben Sie ihm eine Höhe von Unendlichkeit
mit Doppelpunkt, was
eine ältere verfügbare Größe ist. Dann wird das Kind heruntergebracht. Formularfeld. Okay? Hier fügen
wir als Erstes die Deklaration, Const, Eingabedeklaration,
Rahmen und Gliederungseingabegrenze hinzu. Dann ist der Wert DV
Servicemitarbeiter, Abteilung. Wenn es null ist, verwenden
Sie den DB-Service.
Departements. Erster Punkt-ID-Wert, das heißt, wenn der
Benutzer Verkäufe auswählt, wie lautet
dann die ID? Nehmen wir an, Null, das
ist der Wert, den wir wollen, nicht die Texte, das ist
eine Verkaufsoperation. Ich will den Text nicht, ich
will die ID dieser Zeile. Dann müssen wir Artikel schreiben. Bei den Artikeln handelt es sich um DV-Umfragen, Punktkarte
aller Abteilungen. Auf der Karte werden wir den Modellartikel
der Abteilung haben. Innerhalb dieser Funktion wird nun Dropdown-Menüpunkt wie dieser
zurückgegeben . K. Jetzt wird dieser Code, ich weiß, dass er sehr schwierig ist. Aber hier musst du es zur
Liste schaffen , damit der Fehler verschwindet. Und innerhalb des Werts
wird das Kind gelöscht, fertig. Der Artikel hat einen Wert. Es wird item.name, ID sein. Aber was sollten wir zeigen? Wir verwenden ein Textfeld,
um Artikel, Punkt und Titel anzuzeigen. Und der Stil wird konstant sein. Textstil. Schriftgröße 20, 0, k. Hier ist es eine Return-Anweisung. Das letzte
, was jetzt erforderlich ist, ist, dass wir das k in ihnen haben. Das
Feld mit den Punktpunkten wird geändert. onchange gibt uns also
den ausgewählten Wert. Hier. Wenn sie es verwenden, den Wert
ändern, dann werden
wir DV-Umfragen schreiben. Mitarbeiterabteilung,
ändern Sie ihn auf den ausgewählten Wert. Das war's. Jetzt. Siehst du, wir haben Vertrieb,
Marketing, alles. Wenn Sie möchten, können Sie etwas Polsterung hinzufügen und
alles liegt bei Ihnen. Unterhalb dieses Größenfeldes. Schließlich haben wir noch einen gewissen
Abstand zur Boxhöhe für D. Und dann holen wir uns noch einmal
diese Größe der Box. Hier erstellen wir den Button. Die Größe funktioniert mit 250. Kind. Erhöhte Taste. Die Presse ist da. Und das Kind wird konstant sein. Als Nächstes. Update, Profilstil. Textil. Man sagt, wenn D N
in der On-Premise ist, schreiben
wir einfach dv Service Update Profile
Contexts ist da. Und hier Controller
Dot Text Trim genannt. Das war's. Jetzt ist also alles erledigt. Denken Sie daran, dass wir
die Abteilungs-ID nicht senden ,
denn
wenn der Benutzer sie ändert ,
wird hier automatisch die Mitarbeiterabteilung geändert. Außerdem benötigen wir
diese ausgewählte Wertvariable nicht. Wenn ich jetzt zur
Mitarbeitertabelle gehe, können
wir sehen, dass die Abteilung
und der Name leer sind. Lass uns nachschauen. Die Abteilung wird es leid tun, Name wird eine Weile dauern. Und Abteilung Lass es uns nehmen, ID, Update, Profil der
Toten erfolgreich. Die C-Abteilung, um sie zu nennen, ist da. Und wenn ich zu den Anwesenheiten gehe, dann haben wir
einen ganzen Agawam begrüßt. Früher war es die Mitarbeiter-ID, aber da wir
die Notify-Listener verwenden , wird
sie aktualisiert. Das bedeutet, dass unser
Update- und Aktualisierungsprofil auch in allen Abschnitten
einwandfrei funktioniert . Funktioniert jetzt. Im nächsten Video werden
wir an der Funktion
zum Abmelden eines Benutzers arbeiten. Danke.
27. Arbeit am Abmelden: Hallo, willkommen zurück. In diesem Video erstellen
wir hier eine
Abmelde-Schaltfläche
, mit der sich der Mitarbeiter von dieser Anwendung
abmelden kann. Es wird also sehr einfach
und unkompliziert sein. Gehe zum Profilbildschirm. Dann hier in dieser
Kolumne, lass uns sehen. Hier haben wir eine Kolumne. Wir haben Kinder, die sehr schnell tauchen. Das heißt, vor diesem Symbolbild. Erstellen Sie den Containerrand und geben Sie ihm eine Konstante. Kanteneinsätze, die erst
stoppten, wenn
D-Ausrichtung, Punktpunkt hell war. Dann wird das Kind als
Nächstes Schaltflächensymbol angezeigt. Ich kann, ob es konstant ist, ich kann mich abmelden. Loggen Sie sich aus. Und das Label wird const, text sein. Abmelden. Hier. Lass uns das ändern. Top 200, 100, ich sage, wenn D, weil wir nicht
so viel Spielraum brauchen. Jetzt speichern Sie es. Wenn ich dann nachsehe, haben
wir hier diesen
Abmelde-Button
, der nett aussieht. Ich kann sehen. Nun einfach, wenn Sie zu Kunstumfragen gehen, wir haben hier bereits die Schaltfläche zum
Abmelden. Gehen wir also zum
Profilbildschirm hier vor Ort. Schreiben Sie hier einfach
den Kontextanbieter. Und der Anbieter wird seltsam
sein. Umfragen. Wir wollen nicht, dass es sich die Änderungen
anhört. Wir wollten
dieses Schild nur Wanchun nennen. Ok, speichere es. Okay, lassen Sie uns nun überprüfen ob wir ausgehen,
wenn wir auf
die Schaltfläche „Anmelden“ klicken oder nicht. Siehst du, sobald ich
auf die Schaltfläche „Anmelden“ klicke, wird der Hörer benachrichtigt, hier den Splashscreen
aufruft. Siehst du, dieser wurde neu aufgebaut und wir wurden von hier
zum Anmeldebildschirm weitergeleitet. Deshalb
müssen wir nicht nach
dem Navigationscode navigieren, da dies hier automatisch erfolgt. Und im Moment habe ich das nicht,
ich will diesen Code nicht hier haben . Wir melden uns direkt per E-Mail
von der Anwendung ab. Wenn ich neu starte, wird
dem Mitarbeiter auch die Anmeldeseite
angezeigt. Das war's für dieses Video. Unsere App ist fertig, alle Funktionen
funktionieren. Das einzige, was noch übrig ist, ist zu arbeiten. Wenn du an den Tisch gehst. Wir müssen an der Sicherheit auf
Zeilenebene arbeiten. In den nächsten Videos werden
wir also die Sicherheit
auf Zeilenebene aktivieren und Richtlinien
für die Tabelle schreiben.
28. Richtlinien für die Anwesenheitstabelle: Hallo, willkommen zurück. Das letzte,
was jetzt noch übrig ist, ist die Aktivierung der Sicherheit auf Zeilenebene
in unserer Datenbank. Sicherheit auf Zeilenebene ist also eine
Sicherheitsfunktion, mit der wir
den Zugriff auf Zeilen in
einer Datenbanktabelle anhand der Identität oder Rolle eines
Benutzers steuern den Zugriff auf Zeilen in können. In überwachter Umgebung können Sie
RLS verwenden, um anhand
vordefinierter Regeln einzuschränken, welche Datenzeilen ein Benutzer sehen oder
ändern kann . Bisher hatte jeder mit
dem öffentlichen API-Schlüssel
Zugriff auf unsere Datenbank. Dieses Standardverhalten nach der Aktivierung von RLS für eine
Tabelle besteht darin, dass jeder Zugriff
verweigert wird, unabhängig davon,
ob der Benutzer
authentifiziert ist oder nicht, bis
wir unsere Richtlinien erwähnt haben. Wenn Sie dorthin gehen, können
Sie sehen, dass nach der Aktivierung der Sicherheit
auf Zeilenebene alle Crud-Operationen verweigert
werden. Dafür müssen wir also
etwas schreiben, das als Richtlinien bekannt ist. Sie können sie sich so vorstellen als würden Sie jeder Abfrage eine
Where-Klausel hinzufügen. Verschiedene Tabellen können
unterschiedliche RLS-Richtlinien haben. Vielleicht möchtest du, dass irgendein Tisch produziert
wird, bist es vielleicht nicht. Also lasst uns anfangen. Aktivieren Sie RLS, gehen Sie zur
Authentifizierung und dann zu Richtlinien. Wie Sie sehen können, ist
RLS hier in allen Tabellen deaktiviert. Wir beginnen mit der Aktivierung von
RLS in der Anwesenheitstabelle. Und da ich
die Anwendung nicht zum Ausführen benötige, werde
ich sie einfach beenden. Und konzentrieren wir uns
auf Lee unter RLS. Sie also hier klicken,
wird ein kleinerer Wert hinzugefügt als, sind Sie sicher, dass Sie
unsere Sicherheit auf Zeilenebene
für diese Tabelle aktivieren möchten ? Anwesenheitsquote, bestätige. Wie Sie sehen können, ist
RLS aktiviert, aber es wurden noch keine
Richtlinien erstellt. Lassen Sie uns also eine neue Richtlinie erstellen. Und hier haben Sie zwei Möglichkeiten. Legen Sie schnell los und
erstellen Sie eine Richtlinie von Grund auf. Der Einfachheit halber sollten
Sie den Schnellstart verwenden
und nachdem Sie später
einige Abfragen erstellt haben
, können Sie, wenn
Sie möchten ,
weitere Anpassungen vornehmen. Klicken Sie jetzt auf Schnell
loslegen. Hier sehen Sie also, dass es
vordefinierte Vorlagen gibt dass es
vordefinierte Vorlagen die
nicht für alle
lesbar sind. Aktivieren Sie dann den Insert-Zugriff nur für
authentifizierte Benutzer. Anschließend aktualisieren sie den Zugriff
für Benutzer anhand ihrer ID. Wie Sie sehen können, dient diese Vorlage dazu, eine Bitachse zu
aktivieren. Wenn Sie diese Vorlage verwenden, können
Sie jedoch sogar ändern, welcher
Zugriff erforderlich ist. Das heißt, wir werden, wir können diese Vorlage verwenden, aber stattdessen dieses
Update können wir schreiben. Angenommen, auswählen und dann aktiviert auswählen und Zugriff für Benutzer
anhand ihrer E-Mail auswählen. Es ist also nicht
unbedingt so, wenn eine nur
anhand ihrer E-Mail erledigt werden kann. Und schließlich wird
Benutzern anhand ihrer ID
kein Löschzugriff gewährt . Also liest du einfach. Ermöglichen Sie Benutzern den Zugriff
anhand ihrer ID Ob verzögert, gelesen, aktualisiert, das liegt an uns. Also lasst uns anfangen. Wir verwenden den Zugriff „
Unable Insert nur
für authentifizierte Benutzer. In dieser Tabelle
ist das eine Anwesenheit. Wir erlauben es, jeden einzufügen
, der ein Konto erstellt hat. Verwenden Sie also diese Vorlage. Dann hier. Wie Sie sehen können, lautet der Richtlinienname und wird für die
Authentifizierung von Benutzern eingefügt zulässige Vorgang ist einfügen. Die Zielrollen wurden nur authentifiziert,
was wahr sein sollte. Wir werden also keine Änderungen vornehmen. Klicken Sie einfach auf Bewertung. Sie können die Anfrage hier sehen. Und denken Sie daran, diese Abfrage können wir in unserem eigenen
inneren Anpassungsbereich tun. Wenn Sie wissen, wie man sie schreibt, Postgres-Sequel-Abfrage
unbekannt, also ist sie gut. Klicken Sie nun auf Richtlinie speichern. Wie Sie sehen, haben
wir
unsere erste Richtlinie, die darin besteht, Daten in die
Anwesenheitstabelle
einzufügen, erfolgreich umgesetzt die darin besteht, Daten in die . Nun wieder, zum zweiten
Polyzyklikum, wieder zu einer neuen Politik. Dann legen Sie schnell los. Wählen Sie nun die Vorlage aus. Löscht den Zugriff für Benutzer
anhand ihrer Benutzer-ID. Zunächst
verwenden Glyphicons diese Vorlage, aber wir werden
die Vorlage Löschen verwenden , um zu viele Aktualisierungen
zuzulassen. Das heißt, Mitarbeiter können
ihre eigenen Daten auf Lee aktualisieren. Ändern Sie sie einfach zuerst. Ein Richtlinienname, um
Updates für Benutzer auf der
Grundlage der Benutzer-ID zu aktivieren . Dann
klicken Sie statt Löschen auf Aktualisieren, dann
haben Sie dieses zusätzliche Feld. Welcher Ausdruck wird dann benötigt? Die Bedingung ist, dass
eine Punkt-ID dieser Mitarbeiter-ID
entspricht, die dem Spaltennamen entspricht. Hier. Benutzer, der die Unterstrich-ID verwendet. In unserer Tabelle gibt es keine solche
Spalte. Das ist, glaube ich, ja. Tabelle „Mitarbeiter“. Ja. Es waren Angestellte. Ich habe es selbst vergessen. Es war hier die Anwesenheitstabelle. Stimmt. Mitarbeiter-ID. Das ist seltsam. Wer auch immer
diesen Überschuss
, also seine ID, beantragt , sollte dem Feld
Mitarbeiter-ID entsprechen. Kopieren Sie jetzt einfach
dasselbe und fügen Sie es in diesen
Recheck-Ausdruck ein. Diese beiden werden gerettet. Danach
klicken Sie auf Überprüfen und
dann auf Richtlinie speichern. diesem Fall
haben wir auch erfolgreich
die Richtlinie für den Zugriff auf
Updates für die Anwesenheitstabelle zurückgegeben . Dann wieder eine weitere Richtlinie für die
Teilnahme. Klicken Sie auf „Abrufen“. Wählen Sie nun erneut den
Löschzugriff für Benutzer
anhand ihrer ID-Vorlage aus. Klicken Sie auf Diese Vorlage verwenden. Dann werden wir hier
eine Nibble-Auswahl zulassen, die
das Lesen, das
Lesen dieser Daten ermöglicht. Das liegt daran, dass wir bereits
wissen, dass wir eine Seite haben auf der die Leute übersteigen,
sodass die Leute ihre
eigene Anwesenheitshistorie sehen. Daher erlauben wir
Benutzern nur den Zugriff auf ihre
eigenen Verlaufsdaten. Klicken Sie also auf Auswählen. Dann. Hier wird es die Mitarbeiter-ID sein. Das war's. Wir haben also eine umgekehrte Auswahl
für Benutzer basierend auf der Benutzer-ID. Wählen Sie dann auch hier die
Mitarbeiter-ID aus, wenn Sie möchten, können Sie die Mitarbeiter-ID
hinzufügen. Der Name liegt bei dir. Dies ist nur ein Richtlinienname. Dieser ist der wichtigste,
das ist ein Spaltenname. Klicken Sie auf Überprüfen
und dann auf Speichern. Wie Sie sehen können, haben
wir erfolgreich
Richtlinien für die
Anwesenheitsliste verfasst . Da dem
Mitarbeiter in der App
kein Löschzugriff gewährt wird , werden
wir die
Richtlinie dafür nicht schreiben, aber ich hoffe, Sie haben das verstanden. Angenommen, Sie haben diese
Löschfunktion. In ähnlicher Weise können Sie auch die
Richtlinie zum Löschen schreiben. Es ist nichts anderes
als all diese Richtlinien. Das war's für die
Anwesenheitstabelle. Im nächsten Video werden
wir Richtlinien
für die Abteilungen schreiben. Danke.
29. Tabelle der Richtlinien für die Abteilungen: Hallo, lasst uns weiter
an unseren Richtlinien arbeiten. In diesem Video werden wir hier am Tisch
der Abteilung arbeiten . Aktivieren Sie zunächst das RLS. Dann ja, wir sind bestätigt. Dann klicke darauf, bestätige. Dies ist eine religiöse Fähigkeit. Dann klicken Sie auf Neue Richtlinie
und legen Sie schnell los. Jetzt wissen wir, dass
die Abteilungstabelle keine sensiblen Daten
enthält. Wir werden also diese Vorlage verwenden,
die für alle hier einen ungültigen
Lesezugriff darstellt. Es liegt an dir. Wenn Sie möchten, können
Sie diesen Lesezugriff nur
für authentifizierte Benutzer verwenden , aber ich werde diese Vorlage verwenden. Klicken Sie auf, verwenden Sie diese Vorlage. Hier. Wir werden keine Änderungen vornehmen. Klicken Sie auf die Ansicht und
dann auf Richtlinie speichern. Wir haben also die Tabelle mit den ausgewählten Richtlinien
für Abteilungen. Außerdem benötigen wir nur den
Lesezugriff für diese Tabelle da wir
Abteilungsdaten direkt aus
dem Supervisor-Dashboard
in diese Anwendung einfügen Abteilungsdaten direkt aus . Wenn Sie also
zum Tabelleneditor gehen, wenn Sie zu den Abteilungen gehen, haben
wir diese
Daten direkt aus dieser Datei eingefügt , also Zeile einfügen, und deshalb
brauchen wir keine Richtlinien. Aber nehmen wir an, Sie
haben
eine andere App oder Sie erlauben dem Firmeninhaber
, die Abteilungen einzufügen, dann müssen Sie die neue Richtlinie
schreiben. Dann fügen Sie für
die Benutzerauthentifizierung
ausschließlich Leseabteilungen
für Unleash ein. Admin sind der Eigentümer
des Unternehmens. Wie bei all diesen Dingen, die du tun
kannst, liegt es an dir. Da wir jedoch diese
einfache Anwendung haben, benötigen
wir keine
weiteren Richtlinien. Das war's für den
Abteilungstisch. Im nächsten Video werden
wir endlich am
Mitarbeitertisch, der Enqueue, arbeiten.
30. Richtlinien für die Tabelle der Mitarbeiter: Hallo, willkommen zurück. In diesem Video werden
wir an den Richtlinien
für die Mitarbeitertabelle arbeiten. Also einfach zuerst RLS aktivieren. Dann bestätige. Klicken Sie dann auf Neue Richtlinie. Klicken Sie auf Get Started. Wir werden diese Vorlage verwenden. Sie fügen den Zugriff nur für
authentifizierte Benutzer ein. Denn nachdem wir ein
Konto erstellt
haben, das sich registriert, fügen wir neue
Benutzerdaten in diese Tabelle ein. Wir wollen diese Einfügung also nur
für authentifizierte Benutzer. Klicke auf, benutze sie. Wir werden hier keine Änderungen vornehmen. Klicke auf Review, dann ist
alles in Ordnung. Klicken Sie auf Richtlinie speichern. Das Einfügen ist also fertig. Klicken Sie dann erneut auf Neue Richtlinie. Fangen Sie schnell an. Jetzt müssen wir eine
Richtlinie für den Aktualisierungsüberschuss erstellen. Wählen Sie die dritte Vorlage, um die es sich handelt den Update-Zugriff für
Benutzer auf der Grundlage ihrer
E-Mail-Vorlage zu
aktivieren . Also ich hoffe du hast es hier absolut
verstanden. Dies wird überprüft, vorausgesetzt
, ein Benutzer
sendet diese Anfrage. Anstatt die Benutzer-ID zu überprüfen, überprüfen
wir nicht die Art
Dot-E-Mail, die Sie sagen können. Dann klicken Sie auf Vorlage verwenden. Und wenn Sie sich jetzt erinnern, haben
wir in
unserer Tabelle bereits eine
Spalte mit dem Namen E-Mail , wie
diese Mitarbeitertabelle. Wir müssen
hier also keine Änderungen vornehmen. Aber wenn du so etwas wie
Wucherbackenzahn Mitarbeitermoral hast , dann musst du hier
den Spaltennamen schreiben. Es ist, ein
Schrägstrich eines Mitarbeiters, der die E-Mail oder einen beliebigen Namen der Spalte unterstreicht. Klicken Sie auf Überprüfen und dann
auf Richtlinie speichern. Und schließlich wird
sich diese dritte Maßnahme
auf diesen übermäßigen Zyklus beziehen. Und wir werden auch
dieselbe Vorlage verwenden, nämlich Zugriff für Benutzer
anhand ihrer E-Mail-Adresse zu
ermöglichen. Und wenn Sie möchten, können
Sie es auch nach
ihrem Ideal verwenden. Also werde ich einfach
anhand ihrer E-Mail vorgehen. Und klicken Sie auf Verwenden ist der
Richtlinienname für einen ungültigen Lesevorgang. Für Benutzer, die auf E-Mail basieren, würden
zulässige Operationen ausgewählt. Dieser ist okay, das
ist Emilys E-Mail-Bewertung. Und dann klicken Sie auf Richtlinie speichern. RLS ist also in allen Tabellen erfolgreich
aktiviert. Und das haben wir auch
geschrieben. Diese Richtlinien. Das heißt, ob beim Löschen die Option Einfügen
übernommen wird, ist erforderlich. Das hängt von App zu App ab. Der
Benutzer kann also offensichtlich
nichts löschen, da die
Late-Policy nicht
seine einzige ist .
Supervoreingenommene Admins können direkt durch eine
Tabelle
gehen und das Zeug löschen. Das ist auch
gut so, denn jede Löschanfrage
wird storniert. Das war's also für den Sicherheitsteil
auf Zeilenebene. Ich hoffe du hast das verstanden. Möglicherweise finden Sie es
sehr schwierig, da dieses Konzept
in anderen Cloud-Diensten nicht verfügbar ist. Jeder hat sein
eigenes Ding, manche, einige Sicherheitsregeln, manche
haben unterschiedliche Dinge. Es hängt also vom
Cloud-Dienstanbieter ab. Aber soweit es
sehr einfach ist. Im nächsten Video werden
wir endlich testen
, ob
unsere Anwendung vollständig funktioniert, wenn die Sicherheit
auf Zeilenebene aktiviert ist. Danke.
31. Die vollständige Anwendung testen: Hallo, willkommen zum letzten
Video unseres Kurses. In diesem Video werden wir
die vollständige Anwendung testen. Und diesmal benutze ich hier mein physisches
Gerät. Außerdem haben wir letzten Videos die Sicherheit
auf Zeilenebene
aktiviert. Also schauen wir mal, ob
alles perfekt funktioniert oder nicht. Also lass uns gehen und uns
mit unseren Anmeldeinformationen anmelden. 345. Klicken Sie auf Anmelden. Okay. Bis hier
ist alles in Ordnung. Sehen Sie, ich habe mich
in mein Konto eingeloggt. Wenn ich gehe, habe ich diesen, dann sage direkt, dass das so ist. Das bedeutet also, dass der
Lesezugriff hier einwandfrei funktioniert. Lesen Sie dort auch Exzesse. Das heißt, der Mitarbeitertisch. Der Name des Mitarbeiters ist hier. Wenn ich nun versuche, mit
Slate einzuchecken, okay, wenn sie eine physische Taste verwenden, fragt
sie nach dem Standort,
während sie die App verwenden. Und sieh, das heißt,
es funktioniert. Wir können die Daten einfügen. Rls funktioniert auch
einwandfrei. Okay? Das Profil ist also da. Wir haben den vollständigen
Namen, wir haben die ID. Und wenn ich wieder auschecke, sollte
dieser Checkout auch funktionieren. Jep. Es hat auch funktioniert. Die Kasse ist also auch da. Wenn ich auf die
Anwesenheitshistorie klicke, habe ich die heutige Anwesenheitsliste. Und wenn ich den Namen in
nur Raul
ändere und ihn auf
Marketing aktualisiere und auf Update klicke. Ja, Update,
erfolgreich aktualisiert. Es hat einige Zeit gedauert, aber ich glaube nicht. Es wird immer wieder passieren. Wenn ich einfach auf Neustart klicke, dann sehe ich, wir haben jetzt ein
ganzes Marketing. Wir haben
die Marketingabteilung. Unsere App funktioniert also perfekt. Alle Funktionen
funktionieren. Ich klicke einfach auf Abmelden. Jep. Das glaube ich nicht. Diese kleine Verzögerung tritt in Ihrer
Anwendung auf, weil
ich diese
Anwendung
auf meinen Geräten erneut, wieder richtig
getestet habe. Diese Sache
passiert gerade hier, aber es ist kein Problem. Das war's für diesen Kurs. Ich hoffe, Sie haben viel Spaß gehabt
und viel gelernt. Schau dir auch meine anderen
Kurse an. Das war's. Ich hoffe, wir
sehen uns in meinen anderen Kursen. Übe weiter.