Flutter
...
Authentication
Consultando Usuários no Parse Server com Flutter
11 min
consultando usuários no parse no flutter introdução algumas aplicações precisam gerenciar usuários diretamente ou serem capazes de visualizar uma lista deles o parse possui ferramentas de consulta que podem ser usadas para listar os usuários da sua aplicação neste guia, você aprenderá como usar o parsequery para realizar consultas de usuários em sua aplicação flutter usando o plugin flutter para parse server objetivo construir um recurso de consulta de usuários usando parse para um aplicativo flutter pré requisitos para completar este tutorial, você precisará flutter versão 2 2 x ou posterior https //flutter dev/docs/get started/install android studio https //developer android com/studio ou vs code instalado (com plugins dart e flutter) um app criado no back4app nota siga o tutorial de novo app parse para aprender como criar um app parse no back4app um app flutter conectado ao back4app nota siga o instalar o sdk parse no projeto flutter para criar um projeto flutter conectado ao back4app um dispositivo (ou dispositivo virtual) rodando android ou ios entendendo o app de consulta de usuários para entender melhor o processo de consulta de usuários, criaremos um app para consultar não explicaremos o código da aplicação flutter uma vez que o foco principal deste guia é usar o flutter com parse seguindo os próximos passos, você irá construir um aplicativo todo que armazenará as tarefas no banco de dados back4app vamos começar! seguindo os próximos passos, você será capaz de construir um aplicativo de sign que criará uma conta de usuário no banco de dados back4app 1 criar modelo de aplicativo de consulta de usuários abra seu projeto flutter do guia anterior flutter plugin for parse server vá para o main dart main dart arquivo, limpe todo o código e substitua o por 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 o parâmetro na função parse() initialize parse() initialize é true true , permite exibir chamadas da api parse no console esta configuração pode ajudar na depuração do código é aconselhável desativar o debug na versão de lançamento 2 conectar o template ao projeto back4app encontre seu id de aplicação e credenciais de chave do cliente navegando até o painel do seu aplicativo em site do back4app https //www back4app com/ atualize seu código em main dart main dart com os valores do applicationid e clientkey do seu projeto no back4app keyapplicationid = id do app keyclientkey = chave do cliente execute o projeto, e o aplicativo será carregado conforme mostrado na imagem 3 código para consultar usuários qualquer operação de consulta parse usa o parsequery parsequery tipo de objeto, que ajudará você a recuperar dados específicos do seu banco de dados ao longo do seu aplicativo um parsequery parsequery só será resolvido após chamar um método de recuperação, então você pode configurar uma consulta e encadear seus vários modificadores antes de submeter o método de recuperação para criar um novo parsequery parsequery , você precisa passar como parâmetro a desejada parseobject parseobject subclasse, que é a que conterá os resultados da sua consulta você pode ver um exemplo de consulta de usuário abaixo usando o código fornecido, encontre a douserquery douserquery função no arquivo main dart main dart substitua o código dentro de douserquery douserquery por 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 função, siga estas etapas crie uma instância de parsequery parsequery classe e passe como parâmetro para o parseuser forquery parseuser forquery chame a query query função que executará a consulta no banco de dados se as operações forem bem sucedidas, retornará uma lista de parseuser parseuser objetos se a operação não encontrar nenhum objeto, a propriedade de sucesso será falsa, e os resultados serão nulos o código completo deve parecer com isso 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 } você também pode tentar recuperar um único usuário usando a seguinte estrutura para testá lo, clique no botão executar executar no android studio/vscode após realizar esta consulta, sua lista de usuários no seu aplicativo deve estar mostrando algo como isso está feito! no final deste guia, você aprendeu como realizar consultas em usuários do parse no flutter