Flutter
...
Authentication
FlutterでのParseユーザーのクエリ実装ガイド
10 分
flutterでparseのユーザーをクエリする はじめに いくつかのアプリケーションは、ユーザーを直接管理する必要があるか、ユーザーのリストを表示できる必要があります。parseにはクエリツールがあり、これを使用してアプリケーションのユーザーをリストすることができます。 このガイドでは、flutterアプリケーションでユーザークエリを実行するためにparsequeryを使用する方法を学びます。 parse server用の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データベースにユーザーアカウントを作成するサインアプリを構築できるようになります。 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のプロジェクトのapplicationidとclientkeyの値を使用します。 keyapplicationid = アプリid keyclientkey = クライアントキー プロジェクトを実行すると、アプリが画像のように読み込まれます。 3 ユーザーをクエリするためのコード すべてのparseクエリ操作は、 parsequery parsequery オブジェクトタイプを使用し、アプリ全体でデータベースから特定のデータを取得するのに役立ちます。 クエリは、 parsequery parsequery のretrieveメソッドを呼び出した後にのみ解決されるため、クエリを設定し、retrieveメソッドを送信する前にそのいくつかの修飾子をチェーンできます。 新しい 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ユーザーに対してクエリを実行する方法を学びました。