Flutter
...
Authentication
Comment interroger des utilisateurs Parse avec Flutter
12 min
interroger les utilisateurs dans parse sur flutter introduction certaines applications doivent gérer directement les utilisateurs ou être en mesure de voir une liste d'eux parse dispose d'outils de requête qui peuvent être utilisés pour lister les utilisateurs de votre application dans ce guide, vous apprendrez à utiliser parsequery pour effectuer des requêtes d'utilisateurs dans votre application flutter en utilisant le plugin flutter pour parse server objectif créer une fonctionnalité d'interrogation des utilisateurs en utilisant parse pour une application flutter conditions préalables pour compléter ce tutoriel, vous aurez besoin de flutter version 2 2 x ou ultérieure https //flutter dev/docs/get started/install android studio https //developer android com/studio ou vs code installé (avec plugins dart et flutter) une application créée sur back4app remarque suivez le tutoriel de nouvelle application parse pour apprendre à créer une application parse sur back4app une application flutter connectée à back4app remarque suivez le installer le sdk parse sur le projet flutter pour créer un projet flutter connecté à back4app un appareil (ou un appareil virtuel) exécutant android ou ios comprendre l'application query users pour mieux comprendre le processus de requête des utilisateurs, nous allons créer une application pour interroger nous n'expliquerons pas le code de l'application flutter car l'objectif principal de ce guide est d'utiliser flutter avec parse en suivant les étapes suivantes, vous allez créer une application todo qui stockera les tâches dans la base de données back4app commençons! en suivant les étapes suivantes, vous serez en mesure de créer une application sign qui créera un compte utilisateur dans la base de données back4app 1 créer un modèle d'application de requête d'utilisateurs ouvrez votre projet flutter du guide précédent flutter plugin for parse server allez dans le main dart main dart fichier, nettoyez tout le code et remplacez le par 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 lorsque debug debug le paramètre dans la fonction parse() initialize parse() initialize est true true , cela permet d'afficher les appels api parse dans la console cette configuration peut aider à déboguer le code il est conseillé de désactiver le débogage dans la version de production 2 connecter le modèle au projet back4app trouvez votre identifiant d'application et vos identifiants de clé client en naviguant vers le tableau de bord de votre application à site web de back4app https //www back4app com/ mettez à jour votre code dans main dart main dart avec les valeurs de l'applicationid et de la clientkey de votre projet dans back4app keyapplicationid = id de l'application keyclientkey = clé du client exécutez le projet, et l'application se chargera comme indiqué dans l'image 3 code pour interroger les utilisateurs toute opération de requête parse utilise le parsequery parsequery type d'objet, qui vous aidera à récupérer des données spécifiques de votre base de données tout au long de votre application un parsequery parsequery ne se résoudra qu'après avoir appelé une méthode de récupération, vous pouvez donc configurer une requête et enchaîner ses plusieurs modificateurs avant de soumettre la méthode de récupération pour créer un nouveau parsequery parsequery , vous devez passer en paramètre le parseobject parseobject sous classe souhaitée, qui est celle qui contiendra les résultats de votre requête vous pouvez voir un exemple de requête utilisateur ci dessous en utilisant le code fourni, trouvez la douserquery douserquery fonction dans le fichier main dart main dart remplacez le code à l'intérieur de douserquery douserquery par 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 } pour construire cette fonction, suivez ces étapes créez une instance de parsequery parsequery classe et passez comme paramètre à la parseuser forquery parseuser forquery appelez la query query fonction qui exécutera la requête contre la base de données si les opérations réussissent, cela renverra une liste d parseuser parseuser objets si l'opération ne trouve aucun objet, la propriété de succès sera fausse, et les résultats seront nuls le code complet devrait ressembler à ceci 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 } vous pouvez également essayer de récupérer un seul utilisateur en utilisant la structure suivante pour le tester, cliquez sur le exécuter exécuter bouton dans android studio/vscode après avoir effectué cette requête, votre liste d'utilisateurs sur votre application devrait afficher quelque chose comme ceci c'est fait ! à la fin de ce guide, vous avez appris comment effectuer des requêtes sur les utilisateurs parse sur flutter