More
Verstehen von Mustererkennung in Flutter mit dem Back4app-Backend
10 min
einführung pattern matching ist eine leistungsstarke funktion, die in dart 3 eingeführt wurde und es entwicklern ermöglicht, spezifische datenstrukturen innerhalb ihrer anwendungen einfach zu identifizieren und zu extrahieren wenn sie erfahrung mit sprachen wie kotlin, swift oder javascript haben, sind sie möglicherweise bereits mit pattern matching vertraut wenn sie jedoch neu in diesem konzept in dart sind, wird ihnen dieses tutorial helfen, sich damit vertraut zu machen wir werden das pattern matching erkunden und wie man es in einer flutter app mit einem praktischen beispiel verwendet, das back4app als backend integriert, um daten zu verwalten und zu speichern voraussetzungen bevor sie beginnen, stellen sie sicher, dass sie folgendes haben ein back4app konto melden sie sich für ein kostenloses konto an unter back4app com https //www back4app com eine flutter entwicklungsumgebung, die auf ihrem lokalen computer eingerichtet ist folgen sie der flutter installationsanleitung https //flutter dev/docs/get started/install , wenn sie sie noch nicht eingerichtet haben grundkenntnisse in dart, flutter widgets und der verwendung von back4app für backend dienste schritt 1 – einrichten ihres back4app backends erstellen sie ein back4app projekt melden sie sich bei ihrem back4app konto https //www back4app com/ an und erstellen sie ein neues projekt erstellen sie parse klassen erstellen sie für dieses tutorial eine parse klasse mit dem namen userdata , um benutzerinformationen zu speichern benutzername (string) der benutzername des benutzers alter (zahl) das alter des benutzers einstellungen (json) ein json objekt, das die benutzereinstellungen speichert holen sie sich ihre back4app anmeldeinformationen navigieren sie zu ihren projekteinstellungen, um ihre anwendungs id und ihren client schlüssel abzurufen, die sie benötigen, um ihre flutter app mit back4app zu verbinden schritt 2 – einrichten des flutter projekts erstellen sie ein neues flutter projekt öffnen sie ihr terminal oder die eingabeaufforderung und führen sie aus flutter create pattern matching example abhängigkeiten hinzufügen öffnen sie pubspec yaml und fügen sie die folgenden abhängigkeiten hinzu dependencies flutter sdk flutter parse server sdk flutter latest version führen sie flutter pub get aus, um diese abhängigkeiten zu installieren initialisieren sie parse in ihrer app in lib/main dart , initialisieren sie das parse sdk import 'package\ flutter/material dart'; import 'package\ parse server sdk flutter/parse server sdk flutter dart'; void main() async { widgetsflutterbinding ensureinitialized(); const keyapplicationid = 'your back4app app id'; const keyclientkey = 'your back4app client key'; const keyparseserverurl = 'https //parseapi back4app com'; await parse() initialize(keyapplicationid, keyparseserverurl, clientkey keyclientkey, autosendsessionid true); runapp(myapp()); } class myapp extends statelesswidget { @override widget build(buildcontext context) { return materialapp( home patternmatchingscreen(), ); } } ersetzen sie 'your back4app app id' und 'your back4app client key' durch ihre tatsächlichen back4app anmeldeinformationen schritt 3 – implementierung der mustererkennung erstellen sie das patternmatchingscreen widget in lib/main dart , erstellen sie ein neues widget, das die mustererkennung demonstriert, indem es benutzerdaten abruft und verarbeitet class patternmatchingscreen extends statefulwidget { @override patternmatchingscreenstate createstate() => patternmatchingscreenstate(); } class patternmatchingscreenstate extends state\<patternmatchingscreen> { string message = 'fetching data '; @override void initstate() { super initstate(); fetchandmatchdata(); } future\<void> fetchandmatchdata() async { final query = querybuilder\<parseobject>(parseobject('userdata')); final response = await query query(); if (response success && response results != null) { for (var result in response results!) { // using pattern matching to destructure and validate data if (result is parseobject) { final userdata = { 'username' result get\<string>('username'), 'age' result get\<int>('age'), 'preferences' result get\<map\<string, dynamic>>('preferences') }; switch (userdata) { case { 'username' string name, 'age' int age when age >= 18, 'preferences' {'theme' string theme} } setstate(() { message = 'welcome, $name! you are $age years old and prefer the $theme theme '; }); break; default setstate(() { message = 'data does not match the required pattern '; }); break; } } } } else { setstate(() { message = 'failed to retrieve data '; }); } } @override widget build(buildcontext context) { return scaffold( appbar appbar(title text('pattern matching example')), body center(child text( message)), ); } } dieser code ruft benutzerdaten von back4app ab, wendet mustererkennung an, um die daten zu validieren und zu zerlegen, und zeigt dann eine personalisierte nachricht basierend auf den übereinstimmenden daten an schritt 4 – die app ausführen führen sie ihre app aus mit flutter run sie sollten eine nachricht auf dem bildschirm sehen, die auf den abgerufenen und mit mustererkennung übereinstimmenden daten basiert überprüfen sie die daten in back4app indem sie sich in ihr back4app dashboard einloggen und die userdata klasse überprüfen sie können die daten anpassen, um zu sehen, wie verschiedene muster übereinstimmen und wie die app reagiert fazit in diesem tutorial haben wir das konzept der mustererkennung in dart untersucht und wie es in einer flutter app angewendet werden kann durch die integration von back4app als backend haben wir ein praktisches beispiel für das abrufen und verarbeiten von daten mit mustererkennung demonstriert dieser ansatz ermöglicht es ihnen, daten effizient zu validieren und zu zerlegen, wodurch ihre flutter apps robuster und wartungsfreundlicher werden für weitere informationen zu dart mustern besuchen sie die dart dokumentation https //dart dev , und für tipps zur backend integration schauen sie sich die back4app dokumentation https //www back4app com/docs viel spaß beim programmieren!