文系プログラマー「いお」が語る

主にプログラミング関連の記事を書いています。

Cloud Firestoreの作成手順とFlutterアプリからのデータ操作方法サンプル【コピペOK!】

今回は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アプリからのデータ操作方法のサンプル紹介でした。この記事があなたのアプリ開発に役立って居たら幸いです。

 

以上となります、最後までお読みいただきありがとうございました!