Breaking News

Default Placeholder Default Placeholder

はじめに

FlutterとFirebaseの相性がいいのでFlutter製アプリにFirebaseを導入する人は多いと思います。Firestoreというデータストアを使いたいという人も多いでしょう。僕もその1人です。

この記事ではFlutterでFirestoreにデータを格納する方法をまとめていきます。

環境

  • MacOS BigSur 11.4
  • Flutter 2.5.2
  • Dart 2.14.3
  • firebase_core 1.7.0

前提

  • Flutterプロジェクトがある
  • Firebaseプロジェクトがある
  • FlutterプロジェクトとFirebaseの疎通ができている
  • Firestoreルールについてはこの記事では書かない

することリスト

  • ライブラリインストール
  • Firestoreを有効にする
  • データ格納処理を作成する

ライブラリインストール

以下のコマンドでライブラリをインストールします。

$ flutter pub add cloud_firestore

pubspec.ymlcloud_firestoreが追加されていればOKです。

Firestoreを有効にする

FirebaseのプロジェクトでFirestoreを有効にします。

  1. プロジェクトの左ペインでFirestore Databaseをクリック

2. 画面真ん中にあるデータベースの作成ボタンをクリックします

3. モードを選択

テストモードで問題ありません。

4. データストアのロケーションを選択します

ここはどこでもいいです。ユーザに近い場所が理想なのでとりあえず東京を選択しましょう。

東京はasia-northeast1です。

※1回決めてしまうと変更できないので注意が必要です。

右下の有効にするボタンを押下すると準備完了です。

データ格納処理を作成する

Future add() async {
    CollectionReference table = FirebaseFirestore.instance.collection("sample_table");
    await table
      .add({
        'a': "aaa",
        'b': 1,
        'c': 2,
        'd': "ddd"
      })
      .then((value) => print("success!!!"))
      .catchError((error) => print("Error: $error"));
  }

これを実行するとsample_tableというテーブルにデータが格納されます。

格納できるのは数値文字列だけなので注意してください。

配列やオブジェクトを格納したい場合はjson化して格納できるので試してみてください。

Firebaseの画面を開いた状態でデータを格納するとリアルタイムにデータが増えていくのがわかるので面白いですよ。

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