プロジェクトにFirestoreをセットアップしました。 categories
という名前の新しいコレクションを作成しました。このコレクションでは、uniq idを持つ3つのドキュメントを作成しました。 Flutterアプリケーションでこのコレクションを取得したいので、CollectionReference
を作成しました。
Firestore.instance.collection('categories')
しかし、私は次に何がわからない。
このプラグインを使用していますfirebase_firestore: 0.0.1+1
StreamBuilder
を使用する
import 'package:flutter/material.Dart';
import 'package:firebase_firestore/firebase_firestore.Dart';
class ExpenseList extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new StreamBuilder<QuerySnapshot>(
stream: Firestore.instance.collection("expenses").snapshots,
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (!snapshot.hasData) return new Text("There is no expense");
return new ListView(children: getExpenseItems(snapshot));
});
}
getExpenseItems(AsyncSnapshot<QuerySnapshot> snapshot) {
return snapshot.data.documents
.map((doc) => new ListTile(title: new Text(doc["name"]), subtitle: new Text(doc["amount"].toString())))
.toList();
}
}
一度だけ読みたい場合のコードは次のとおりです
QuerySnapshot querySnapshot = await Firestore.instance.collection("collection").getDocuments();
var list = querySnapshot.documents;