はじめに
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.yml
にcloud_firestore
が追加されていればOKです。
Firestoreを有効にする
FirebaseのプロジェクトでFirestoreを有効にします。
- プロジェクトの左ペインで
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の画面を開いた状態でデータを格納するとリアルタイムにデータが増えていくのがわかるので面白いですよ。
以上、最後までお読みいただきましてありがとうございました。