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 설치 https //code visualstudio com/ ( 플러그인 https //docs flutter dev/get started/editor dart 및 flutter와 함께) back4app에서 생성된 https //www back4app com/docs/get started/new parse app 앱 참고 back4app에서 parse 앱을 생성하는 방법을 배우려면 새 parse 앱 튜토리얼 https //www back4app com/docs/get started/new parse app 을 따르세요 back4app에 연결된 flutter 앱 참고 back4app에 연결된 flutter 프로젝트를 생성하려면 parse sdk를 flutter 프로젝트에 설치 https //www back4app com/docs/flutter/parse sdk/parse flutter sdk 를 따르세요 android 또는 ios를 실행하는 장치(또는 가상 장치) 쿼리 사용자 앱 이해하기 쿼리 사용자 프로세스를 더 잘 이해하기 위해 쿼리할 앱을 만들 것입니다 이 가이드의 주요 초점이 flutter와 parse를 사용하는 것이므로 flutter 애플리케이션 코드는 설명하지 않겠습니다 다음 단계를 따르면, back4app 데이터베이스에 작업을 저장하는 todo 앱을 만들 수 있습니다 시작해봅시다! 다음 단계를 따르면, back4app 데이터베이스에 사용자 계정을 생성하는 sign 앱을 만들 수 있습니다 1 사용자 쿼리 앱 템플릿 만들기 이전 가이드에서 flutter 프로젝트를 열고 parse server용 flutter 플러그인 으로 이동합니다 \<font color="#2166ae">main dart\</font> 파일을 열고 모든 코드를 정리한 후 다음으로 교체합니다 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 함수 \<font color="#2166ae">debug\</font> 의 \<font color="#2166ae">parse() initialize\</font> 매개변수가 \<font color="#2166ae">true\</font> , parse api 호출을 콘솔에 표시할 수 있습니다 이 설정은 코드 디버깅에 도움이 될 수 있습니다 릴리스 버전에서는 디버그를 비활성화하는 것이 좋습니다 2 템플릿을 back4app 프로젝트에 연결하기 애플리케이션 id와 클라이언트 키 자격 증명을 찾으려면 back4app 웹사이트 https //www back4app com/ 로 이동하세요 코드를 \<font color="#2166ae">main dart\</font> 에서 back4app의 애플리케이션 id와 클라이언트 키 값으로 업데이트하세요 keyapplicationid = 앱 id keyclientkey = 클라이언트 키 프로젝트를 실행하면 앱이 이미지와 같이 로드됩니다 3 사용자 쿼리 코드 모든 parse 쿼리 작업은 \<font color="#2166ae">parsequery\</font> 객체 유형을 사용하며, 이는 앱 전반에 걸쳐 데이터베이스에서 특정 데이터를 검색하는 데 도움이 됩니다 \<font color="#2166ae">parsequery\</font> 는 검색 메서드를 호출한 후에만 해결되므로, 쿼리를 설정하고 검색 메서드를 제출하기 전에 여러 수정자를 연결할 수 있습니다 새로운 \<font color="#2166ae">parsequery\</font> , 생성하려면 원하는 \<font color="#2166ae">parseobject\</font> 하위 클래스를 매개변수로 전달해야 하며, 이는 쿼리 결과를 포함할 것입니다 아래에서 사용자 쿼리 예제를 볼 수 있습니다 제공된 코드를 사용하여 \<font color="#2166ae">douserquery\</font> 함수를 파일 \<font color="#2166ae">main dart\</font> \<font color="#2166ae">douserquery\</font> 내부의 코드를 다음으로 교체하세요 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 } 이 기능을 구축하려면 다음 단계를 따르세요 인스턴스를 생성합니다 \<font color="#2166ae">parsequery\</font> 클래스를 사용하고 \<font color="#2166ae">parseuser forquery\</font> 에 매개변수로 전달합니다 다음의 \<font color="#2166ae">query\</font> 함수를 호출하여 데이터베이스에 대해 쿼리를 실행합니다 작업이 성공하면, \<font color="#2166ae">parseuser\</font> 객체의 목록을 반환합니다 만약 작업이 객체를 찾지 못하면, 성공 속성은 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 } 다음 구조를 사용하여 단일 사용자를 검색해 볼 수도 있습니다 user? get("username"); 테스트하려면, android studio/vscode에서 \<font color="#2166ae">실행\</font> 버튼을 클릭하세요 이 쿼리를 수행한 후, 앱의 사용자 목록은 다음과 같은 내용을 보여야 합니다 완료되었습니다! 이 가이드의 끝에서, flutter에서 parse 사용자에 대한 쿼리를 수행하는 방법을 배웠습니다