Flutter
...
Authentication
Запрос пользователей Parse в Flutter: Руководство для разработчиков
11 мин
запрос пользователей в parse на flutter введение некоторым приложениям необходимо напрямую управлять пользователями или иметь возможность просматривать их список parse имеет инструменты для запросов, которые можно использовать для отображения пользователей вашего приложения в этом руководстве вы узнаете, как использовать parsequery для выполнения запросов пользователей в вашем приложении flutter с помощью плагина flutter для parse server цель создать функцию запроса пользователей с использованием parse для приложения flutter предварительные условия чтобы завершить этот учебник, вам потребуется версия flutter 2 2 x или новее https //flutter dev/docs/get started/install android studio https //developer android com/studio или установленный vs code (с плагинами dart и flutter) приложение созданное на back4app примечание следуйте учебнику по созданию нового parse app чтобы узнать, как создать parse app на back4app flutter приложение, подключенное к back4app примечание следуйте установите parse sdk в проект flutter чтобы создать проект flutter, подключенный к back4app устройство (или виртуальное устройство), работающее на android или ios понимание приложения query users чтобы лучше понять процесс запроса пользователей, мы создадим приложение для запроса мы не будем объяснять код приложения flutter, так как основное внимание в этом руководстве уделяется использованию flutter с parse следуя следующим шагам, вы создадите приложение todo, которое будет хранить задачи в базе данных back4app давайте начнем! следуя следующим шагам, вы сможете создать приложение sign, которое создаст учетную запись пользователя в базе данных back4app 1 создайте шаблон приложения для запроса пользователей откройте ваш проект flutter из предыдущего руководства flutter плагин для parse server перейдите в файл main dart main dart , очистите весь код и замените его на 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 когда отладка отладка параметр в функции parse() initialize parse() initialize равен истина истина , это позволяет отображать вызовы parse api в консоли эта конфигурация может помочь в отладке кода рекомендуется отключить отладку в релизной версии 2 подключите шаблон к проекту back4app найдите свой идентификатор приложения и учетные данные ключа клиента, перейдя на панель управления вашего приложения по адресу сайт back4app https //www back4app com/ обновите свой код в main dart main dart с значениями идентификатора приложения и ключа клиента вашего проекта в back4app keyapplicationid = идентификатор приложения keyclientkey = идентификатор клиента запустите проект, и приложение загрузится, как показано на изображении 3 код для запроса пользователей любая операция запроса parse использует parsequery parsequery объект, который поможет вам извлечь конкретные данные из вашей базы данных на протяжении всего вашего приложения запрос parsequery parsequery будет разрешен только после вызова метода извлечения, поэтому вы можете настроить запрос и связать его несколько модификаторов перед отправкой метода извлечения чтобы создать новый parsequery parsequery , вам нужно передать в качестве параметра желаемый parseobject parseobject подкласс, который будет содержать результаты вашего запроса вы можете увидеть пример запроса пользователя ниже используя предоставленный код, найдите функцию douserquery douserquery в файле main dart main dart замените код внутри douserquery douserquery на 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 } чтобы создать эту функцию, выполните следующие шаги создайте экземпляр parsequery parsequery класса и передайте его в качестве параметра в parseuser forquery parseuser forquery вызовите query query функцию, которая выполнит запрос к базе данных если операции успешны, будет возвращен список parseuser parseuser объектов если операция не найдет никаких объектов, свойство успеха будет ложным, а результаты будут равны нулю полный код должен выглядеть так 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 } вы также можете попробовать получить одного пользователя, используя следующую структуру чтобы протестировать это, нажмите на кнопку запуск запуск в android studio/vscode после выполнения этого запроса ваш список пользователей в приложении должен выглядеть примерно так готово! в конце этого руководства вы узнали, как выполнять запросы к пользователям parse на flutter