Flutter
...
Authentication
Benutzerabfragen mit ParseQuery in Flutter durchführen
11 min
abfragen von benutzern in parse auf flutter einführung einige anwendungen müssen benutzer direkt verwalten oder in der lage sein, eine liste von ihnen anzuzeigen parse verfügt über abfragewerkzeuge, die verwendet werden können, um die benutzer ihrer anwendung aufzulisten in diesem leitfaden lernen sie, wie sie parsequery verwenden, um benutzerabfragen in ihrer flutter anwendung durchzuführen, indem sie das flutter plugin für parse server verwenden ziel eine benutzerabfragefunktion mit parse für eine flutter app zu erstellen voraussetzungen um dieses tutorial abzuschließen, benötigen sie flutter version 2 2 x oder höher https //flutter dev/docs/get started/install android studio https //developer android com/studio oder vs code installiert (mit plugins dart und flutter) eine app erstellt auf back4app hinweis befolgen sie das tutorial für neue parse apps um zu lernen, wie man eine parse app auf back4app erstellt eine flutter app, die mit back4app verbunden ist hinweis befolgen sie das installieren sie das parse sdk im flutter projekt um ein flutter projekt zu erstellen, das mit back4app verbunden ist ein gerät (oder virtuelles gerät), das android oder ios ausführt verstehen der abfragebenutzer app um den abfrageprozess der benutzer besser zu verstehen, werden wir eine app erstellen, um abfragen durchzuführen wir werden den flutter anwendungscode nicht erklären, da der schwerpunkt dieses leitfadens auf der verwendung von flutter mit parse liegt folgen sie den nächsten schritten, um eine todo app zu erstellen, die die aufgaben in der back4app datenbank speichert lass uns anfangen! folgen sie den nächsten schritten, um eine sign app zu erstellen, die ein benutzerkonto in der back4app datenbank erstellt 1 erstellen sie eine abfrage benutzer app vorlage öffnen sie ihr flutter projekt aus dem vorherigen leitfaden flutter plugin für parse server gehen sie zur main dart main dart datei, bereinigen sie den gesamten code und ersetzen sie ihn durch 1 import 'dart\ async'; 2 3 import 'package\ flutter/material dart'; 4 import 'package\ parse server sdk flutter/parse server sdk dart'; 5 6 void main() async { 7 widgetsflutterbinding ensureinitialized(); 8 9 final keyapplicationid = 'your app id here'; 10 final keyclientkey = 'your client key here'; 11 final keyparseserverurl = 'https //parseapi back4app com'; 12 13 await parse() initialize(keyapplicationid, keyparseserverurl, 14 clientkey keyclientkey, debug true); 15 16 runapp(materialapp( 17 home home(), 18 )); 19 } 20 21 class home extends statefulwidget { 22 @override 23 homestate createstate() => homestate(); 24 } 25 26 class homestate extends state\<home> { 27 final scaffoldkey = globalkey\<scaffoldstate>(); 28 29 @override 30 widget build(buildcontext context) { 31 return scaffold( 32 appbar appbar( 33 title text("parse query users"), 34 backgroundcolor colors blueaccent, 35 centertitle true, 36 ), 37 key scaffoldkey, 38 body futurebuilder\<list\<parseobject>>( 39 future douserquery(), 40 builder (context, snapshot) { 41 switch (snapshot connectionstate) { 42 case connectionstate none 43 case connectionstate waiting 44 return center( 45 child container( 46 width 100, 47 height 100, 48 child circularprogressindicator()), 49 ); 50 default 51 if (snapshot haserror) { 52 return center( 53 child text("error ${snapshot error tostring()}"), 54 ); 55 } else { 56 if (snapshot data! isempty) { 57 return center( 58 child text('none user found'), 59 ); 60 } 61 62 return listview\ builder( 63 padding edgeinsets only(top 10 0), 64 itemcount snapshot data! length, 65 itembuilder (context, index) { 66 final user = snapshot data!\[index] as parseuser; 67 final userverified = user emailverified ?? false; 68 return listtile( 69 title text( 70 'username ${user username} verified ${userverified tostring()}'), 71 subtitle text(user createdat tostring()), 72 ); 73 }); 74 } 75 } 76 })); 77 } 78 79 future\<list\<parseobject>> douserquery() async { 80 return \[]; 81 } 82 } 83 wenn debug debug parameter in der funktion parse() initialize parse() initialize ist true true , ermöglicht das anzeigen von parse api aufrufen in der konsole diese konfiguration kann beim debuggen des codes helfen es wird empfohlen, das debugging in der release version zu deaktivieren 2 verbinden sie die vorlage mit dem back4app projekt finden sie ihre anwendungs id und client key anmeldeinformationen, indem sie zu ihrem app dashboard unter back4app website https //www back4app com/ navigieren aktualisieren sie ihren code in main dart main dart mit den werten der anwendungs id und des client keys ihres projekts in back4app keyapplicationid = app id keyclientkey = client key führen sie das projekt aus, und die app wird wie im bild angezeigt 3 code zum abfragen von benutzern jede parse abfrageoperation verwendet den parsequery parsequery objekttyp, der ihnen hilft, spezifische daten aus ihrer datenbank in ihrer app abzurufen ein parsequery parsequery wird nur aufgelöst, nachdem eine abrufmethode aufgerufen wurde, sodass sie eine abfrage einrichten und deren mehrere modifikatoren verketten können, bevor sie die abrufmethode einreichen um eine neue parsequery parsequery , müssen sie als parameter die gewünschte parseobject parseobject unterklasse übergeben, die die abfrageergebnisse enthalten wird sie können ein beispiel für eine benutzerabfrage unten sehen verwenden sie den bereitgestellten code, um die douserquery douserquery funktion in der datei main dart main dart ersetzen sie den code innerhalb von douserquery douserquery mit 1 querybuilder\<parseuser> queryusers = 2 querybuilder\<parseuser>(parseuser forquery()); 3 final parseresponse apiresponse = await queryusers query(); 4 5 if (apiresponse success && apiresponse results != null) { 6 return apiresponse results as list\<parseobject>; 7 } else { 8 return \[]; 9 } um diese funktion zu erstellen, befolgen sie diese schritte erstellen sie eine instanz von parsequery parsequery klasse und übergeben sie sie als parameter an die parseuser forquery parseuser forquery rufen sie die query query funktion auf, die die abfrage gegen die datenbank ausführt wenn die operationen erfolgreich sind, wird eine liste von parseuser parseuser objekten zurückgegeben wenn die operation keine objekte findet, ist die erfolgs eigenschaft falsch und die ergebnisse sind null der vollständige code sollte so aussehen 1 future\<list\<parseobject>> douserquery() async { 2 querybuilder\<parseuser> queryusers = 3 querybuilder\<parseuser>(parseuser forquery()); 4 final parseresponse apiresponse = await queryusers query(); 5 6 if (apiresponse success && apiresponse results != null) { 7 return apiresponse results as list\<parseobject>; 8 } else { 9 return \[]; 10 } 11 } sie können auch versuchen, einen einzelnen benutzer mit der folgenden struktur abzurufen um es zu testen, klicken sie auf die ausführen ausführen schaltfläche in android studio/vscode nach der durchführung dieser abfrage sollte ihre benutzerliste in ihrer app etwas wie folgt anzeigen es ist fertig! am ende dieses leitfadens haben sie gelernt, wie man abfragen zu parse benutzern in flutter durchführt