今回はFirestoreの作成手順とFlutterアプリからのデータ操作方法を見ていきます。
はじめに
以下を前提にしています。
・Windows環境
・Flutterプロジェクト作成済み
・FlutterプロジェクトとFirebaseプロジェクトの連携済み
FlutterプロジェクトとFirebaseプロジェクトのどちらか、もしくはそのどちらも未作成・未連携の場合は以下記事を参考にしてください。
Cloud Firestoreの作成手順
まずはFirebaseのプロジェクトを開き、左側メニューの「Firestore Database」をクリックします。
次に「データベースの作成」をクリックします。
ロケーションを設定し、「次へ」をクリックします。ここでは「asia-northeast1(Tokyo)」を選択しています。
本番モードかテストモードで作成するか聞かれます。これは後ほど変更可能なのでどちらでも構いません。最後に「有効にする」をクリックします。
これで以下の画面に遷移すればFirestoreの作成完了です。
Flutterアプリからのデータ操作方法
それではここから、実際にFirestoreデータベースのデータをサンプルプログラムを用いて操作していきましょう。
まず、pubspec.yamlに以下を追記します。
cloud_firestore: ^4.14.0
データ操作用に作成したUserクラス
次に以下のようなクラスを作成し、クラス内にFirestoreのデータを操作(登録、更新、削除)するメソッドを定義します。コピペで問題ないです。
class User { final String id; final String name; User({required this.id, required this.name}); CollectionReference users = FirebaseFirestore.instance.collection('users'); //登録 Future<void> addUser() { return users .doc(id) .set({'userid': id, 'username': name}) .then((value) => print("User Added")) .catchError((error) => print("Failed to add user: $error")); } //更新 Future<void> updateUser(String newName) { return users .doc(id) .update({'username': newName}) .then((value) => print("User Updated")) .catchError((error) => print("Failed to update user: $error")); } //削除 Future<void> deleteUser() { return users .doc(id) .delete() .then((value) => print("User Deleted")) .catchError((error) => print("Failed to delete user: $error")); } }
このクラスは、Firestoreにusersという名前のコレクションを作成し、その中にユーザー情報を追加、更新、削除する機能を持っています。addUser、updateUser、deleteUserの各メソッドは、それぞれデータの追加、更新、削除を行います。各メソッドは非同期であり、操作が完了すると結果をコンソールに出力します。
ちなみに、Firestoreはコレクションやドキュメントの追加は暗黙的に行われますので、事前にFirestoreコンソール画面からデータを作成しておく必要は特段の理由がない限りありません。
メソッド使用例(サンプル)
以下のようにして、上記Userクラスのメソッドを呼び出すことができます。
void main() async { User user = User(id: '123', name: 'John Doe'); // ユーザーを追加 await user.addUser(); // ユーザー名を更新 await user.updateUser('Jane Doe'); // ユーザーを削除 await user.deleteUser(); }
おわりに
今回は、Firestoreの作成手順とFlutterアプリからのデータ操作方法のサンプル紹介でした。この記事があなたのアプリ開発に役立って居たら幸いです。
以上となります、最後までお読みいただきありがとうございました!