Flutter
...
Authentication
Interrogare gli Utenti con ParseQuery in Flutter SDK
11 min
interrogare gli utenti in parse su flutter introduzione alcune applicazioni devono gestire direttamente gli utenti o essere in grado di visualizzare un elenco di essi parse ha strumenti di query e possono essere utilizzati per elencare gli utenti della tua applicazione in questa guida, imparerai come utilizzare parsequery per eseguire query sugli utenti nella tua applicazione flutter utilizzando il plugin flutter per parse server obiettivo costruire una funzionalità di interrogazione degli utenti utilizzando parse per un'app flutter requisiti per completare questo tutorial, avrai bisogno di versione flutter 2 2 x o successiva https //flutter dev/docs/get started/install android studio https //developer android com/studio o vs code installato (con plugin dart e flutter) un'app creata su back4app nota segui il tutorial nuova app parse per imparare a creare un'app parse su back4app un'app flutter connessa a back4app nota segui il installa il parse sdk nel progetto flutter per creare un progetto flutter connesso a back4app un dispositivo (o dispositivo virtuale) che esegue android o ios comprendere l'app query users per comprendere meglio il processo di query users, creeremo un'app da interrogare non spiegheremo il codice dell'app flutter poiché il focus principale di questa guida è l'uso di flutter con parse seguendo i passaggi successivi, costruirai un'app todo che memorizzerà i compiti nel database di back4app iniziamo! seguendo i passaggi successivi sarai in grado di costruire un'app sign che creerà un'account utente nel database di back4app 1 crea il modello dell'app query users apri il tuo progetto flutter dalla guida precedente flutter plugin for parse server vai al main dart main dart file, pulisci tutto il codice e sostituiscilo con 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 quando debug debug il parametro nella funzione parse() initialize parse() initialize è true true , consente di visualizzare le chiamate all'api di parse sulla console questa configurazione può aiutare nel debug del codice è consigliabile disabilitare il debug nella versione di rilascio 2 collega il template al progetto back4app trova il tuo id applicazione e le credenziali client key navigando nel dashboard della tua app su sito web di back4app https //www back4app com/ aggiorna il tuo codice in main dart main dart con i valori dell’applicationid e del clientkey del tuo progetto in back4app keyapplicationid = id app keyclientkey = chiave client esegui il progetto e l'app si caricherà come mostrato nell'immagine 3 codice per query utenti qualsiasi operazione di query parse utilizza il parsequery parsequery tipo di oggetto, che ti aiuterà a recuperare dati specifici dal tuo database all'interno della tua app un parsequery parsequery si risolverà solo dopo aver chiamato un metodo di recupero, quindi puoi impostare una query e concatenare i suoi vari modificatori prima di inviare il metodo di recupero per creare un nuovo parsequery parsequery , devi passare come parametro la parseobject parseobject desiderata, che è quella che conterrà i risultati della tua query puoi vedere un esempio di query utente qui sotto utilizzando il codice fornito, trova la douserquery douserquery funzione nel file main dart main dart sostituisci il codice all'interno di douserquery douserquery con 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 } per costruire questa funzione, segui questi passaggi crea un'istanza di parsequery parsequery classe e passala come parametro a parseuser forquery parseuser forquery chiama la query query funzione che eseguirà la query contro il database se le operazioni hanno successo, restituirà un elenco di parseuser parseuser oggetti se l'operazione non trova oggetti, la proprietà di successo sarà falsa e i risultati saranno null il codice completo dovrebbe apparire così 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 } puoi anche provare a recuperare un singolo utente utilizzando la seguente struttura user? get("username"); per testarlo, fai clic sul esegui esegui pulsante in android studio/vscode dopo aver eseguito questa query, l'elenco utenti nella tua app dovrebbe mostrare qualcosa di simile a questo è fatto! alla fine di questa guida, hai imparato come eseguire query sugli utenti di parse su flutter