Flutter
...
Authentication
Flutter에서 Parse SDK로 사용자 쿼리 수행하기
11 분
flutter에서 parse로 사용자 쿼리하기 소개 일부 애플리케이션은 사용자를 직접 관리하거나 사용자 목록을 볼 수 있어야 합니다 parse에는 쿼리 도구가 있으며 이를 사용하여 애플리케이션의 사용자를 나열할 수 있습니다 이 가이드에서는 parse server용 flutter 플러그인 을 사용하여 flutter 애플리케이션에서 사용자 쿼리를 수행하는 방법을 배웁니다 목표 flutter 앱을 위한 사용자 쿼리 기능을 parse를 사용하여 구축하는 것입니다 전제 조건 이 튜토리얼을 완료하려면 다음이 필요합니다 flutter 버전 2 2 x 이상 https //flutter dev/docs/get started/install android studio https //developer android com/studio 또는 vs code 설치 ( 플러그인 dart 및 flutter와 함께) back4app에서 생성된 앱 참고 back4app에서 parse 앱을 생성하는 방법을 배우려면 새 parse 앱 튜토리얼 을 따르세요 back4app에 연결된 flutter 앱 참고 back4app에 연결된 flutter 프로젝트를 생성하려면 parse sdk를 flutter 프로젝트에 설치 를 따르세요 android 또는 ios를 실행하는 장치(또는 가상 장치) 쿼리 사용자 앱 이해하기 쿼리 사용자 프로세스를 더 잘 이해하기 위해 쿼리할 앱을 만들 것입니다 이 가이드의 주요 초점이 flutter와 parse를 사용하는 것이므로 flutter 애플리케이션 코드는 설명하지 않겠습니다 다음 단계를 따르면, back4app 데이터베이스에 작업을 저장하는 todo 앱을 만들 수 있습니다 시작해봅시다! 다음 단계를 따르면, back4app 데이터베이스에 사용자 계정을 생성하는 sign 앱을 만들 수 있습니다 1 사용자 쿼리 앱 템플릿 만들기 이전 가이드에서 flutter 프로젝트를 열고 parse server용 flutter 플러그인 으로 이동합니다 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 함수 debug debug 의 parse() initialize parse() initialize 매개변수가 true true , parse api 호출을 콘솔에 표시할 수 있습니다 이 설정은 코드 디버깅에 도움이 될 수 있습니다 릴리스 버전에서는 디버그를 비활성화하는 것이 좋습니다 2 템플릿을 back4app 프로젝트에 연결하기 애플리케이션 id와 클라이언트 키 자격 증명을 찾으려면 back4app 웹사이트 https //www back4app com/ 로 이동하세요 코드를 main dart main dart 에서 back4app의 애플리케이션 id와 클라이언트 키 값으로 업데이트하세요 keyapplicationid = 앱 id 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 객체의 목록을 반환합니다 만약 작업이 객체를 찾지 못하면, 성공 속성은 false가 되고 결과는 null이 됩니다 전체 코드는 다음과 같아야 합니다 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에서 실행 실행 버튼을 클릭하세요 이 쿼리를 수행한 후, 앱의 사용자 목록은 다음과 같은 내용을 보여야 합니다 완료되었습니다! 이 가이드의 끝에서, flutter에서 parse 사용자에 대한 쿼리를 수행하는 방법을 배웠습니다