虎視眈々と

Flutter × Firebaseを研究するアプリエンジニア

FlutterとCloud Firestoreデータをやり取りする

f:id:superman199323:20181109183819j:plain

FlutterとCloud Firestoreデータを取得する

FlutterとFirebaseの接続方法については下記をご覧ください。

www.shogogeek.com

データを保存する

  Future<void> newGroup(
      String title, String description, File selectImage, String uid,
      bool isSecret, String secretWord) {

    return Firestore.instance.collection("group").add({
      "title": title,
      "description": description,
      "isActive": 0,
      "make_user_id": uid,
      "is_secret": isSecret,
      "secret_word" : secretWord,
      "created_at": new DateTime.now(),
      "updated_at": new DateTime.now()
    }).then((doc) {
      if (selectImage != null) {
        _uploadImage(selectImage, doc.documentID, uid);
      } else {
        _batchUserAndGroup(doc.documentID, uid);
      }
    });
  }

取得する

Future<Group> getGroupInfo(String groupId) async {
    var document =
        Firestore.instance.collection("group").document(groupId).get();
    return await document.then((doc) {
      return Group.setGroup(doc);
    });
  }

呼び側はこんな感じ

var groupInfo = await helper.getGroupInfo(widget.groupId);
  • 削除する
 Future<void> removeImage(String groupId, String groupDetailId) {
    return Firestore.instance
        .collection("group")
        .document(groupId)
        .collection("group_item")
        .document(groupDetailId)
        .delete();
  }

使い方は結構WEBのFIrestoreの使い方とよく似ています。