Flutter
...
Authentication
Consulta de usuarios en Parse usando Flutter y ParseQuery
11 min
consultando usuarios en parse en flutter introducción algunas aplicaciones necesitan gestionar usuarios directamente o poder ver una lista de ellos parse tiene herramientas de consulta y se pueden usar para listar los usuarios de tu aplicación en esta guía, aprenderás cómo usar parsequery para realizar consultas de usuarios en tu aplicación flutter utilizando el plugin de flutter para parse server objetivo construir una función de consulta de usuarios utilizando parse para una aplicación flutter requisitos previos para completar este tutorial, necesitarás flutter versión 2 2 x o posterior https //flutter dev/docs/get started/install android studio https //developer android com/studio o vs code instalado (con plugins dart y flutter) una aplicación creada en back4app nota sigue el tutorial de nueva aplicación parse para aprender cómo crear una aplicación parse en back4app una aplicación flutter conectada a back4app nota sigue el instalar parse sdk en el proyecto flutter para crear un proyecto flutter conectado a back4app un dispositivo (o dispositivo virtual) que ejecute android o ios entendiendo la aplicación de consulta de usuarios para entender mejor el proceso de consulta de usuarios, crearemos una aplicación para consultar no explicaremos el código de la aplicación flutter ya que el enfoque principal de esta guía es usar flutter con parse siguiendo los siguientes pasos, construirás una aplicación todo que almacenará las tareas en la base de datos de back4app ¡comencemos! siguiendo los siguientes pasos podrás construir una aplicación de sign que creará una cuenta de usuario en la base de datos de back4app 1 crear plantilla de aplicación de consulta de usuarios abre tu proyecto de flutter de la guía anterior flutter plugin for parse server ve al archivo main dart main dart , limpia todo el código y reemplázalo 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 cuando debug debug el parámetro en la función parse() initialize parse() initialize es true true , permite mostrar las llamadas a la api de parse en la consola esta configuración puede ayudar en la depuración del código se recomienda desactivar el debug en la versión de lanzamiento 2 conectar la plantilla al proyecto de back4app encuentra tu id de aplicación y las credenciales de clave de cliente navegando a tu panel de control de la aplicación en sitio web de back4app https //www back4app com/ actualiza tu código en main dart main dart con los valores de applicationid y clientkey de tu proyecto en back4app keyapplicationid = id de la aplicación keyclientkey = clave del cliente ejecuta el proyecto, y la aplicación se cargará como se muestra en la imagen 3 código para consultar usuarios cualquier operación de consulta de parse utiliza el parsequery parsequery tipo de objeto, que te ayudará a recuperar datos específicos de tu base de datos a lo largo de tu aplicación un parsequery parsequery solo se resolverá después de llamar a un método de recuperación, por lo que puedes configurar una consulta y encadenar sus varios modificadores antes de enviar el método de recuperación para crear un nuevo parsequery parsequery , necesitas pasar como parámetro la deseada parseobject parseobject subclase, que es la que contendrá los resultados de tu consulta puedes ver un ejemplo de consulta de usuario a continuación usando el código proporcionado, encuentra la douserquery douserquery función en el archivo main dart main dart reemplaza el código dentro de 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 } para construir esta función, sigue estos pasos crea una instancia de parsequery parsequery clase y pásala como parámetro a la parseuser forquery parseuser forquery llama a la query query función que ejecutará la consulta contra la base de datos si las operaciones tienen éxito, devolverá una lista de parseuser parseuser objetos si la operación no encuentra ningún objeto, la propiedad de éxito será falsa y los resultados serán nulos el código completo debería verse así 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 } también puedes intentar recuperar un solo usuario utilizando la siguiente estructura para probarlo, haz clic en el ejecutar ejecutar botón en android studio/vscode después de realizar esta consulta, tu lista de usuarios en tu aplicación debería mostrar algo como esto ¡está hecho! al final de esta guía, aprendiste cómo realizar consultas sobre usuarios de parse en flutter