Flutter × Firestore まとめ
FlutterのFirebaseへの接続
注意
cloud_firestoreのインポートの記述や、StreamBuilderのロード中,データがない時の記述は無視していますので、その点ご了承ください。
Firestoreデータ取得
userというコレクションからデータを取得する想定。
List<String> _emails;
@override
void initState(){
fetchUserData();
}
void fetchUserData() async{
QuerySnapshot snapshot = await Firestore.instance.collection('user').getDocuments();
for(var i = 0; i < snapshot.documents.length; i++){
_emails.add(snapshot.documents[i].data['email']);
}
}
Firestoreデータ取得(ドキュメントID指定)
userというコレクションからデータを取得する想定。
documentIdに取得したいドキュメントIDを指定します。
String _email;
@override
void initState(){
fetchUserData();
}
void fetchUserData() async{
DocumentSnapshot snapshot = await Firestore.instance.collection('user').document(documentId).get();
_email = snapshot.data['email'];
}
Firestoreデータ取得して表示
userというコレクションからデータを取得し表示する想定。
StreamBuilderで更新を監視。
@override
Widget build(BuildContext context) {
return StreamBuilder(
stream: Firestore.instance.collection('user').snapshots(),
builder: (context, snapshot) {
return ListView.builder(
itemCount: snapshot.data.documents.length,
itemBuilder: (context, index) {
return Text(snapshot.data.documents[index].data['email']);
},
);
},
);
}
Firestoreデータ取得して表示(ドキュメントID指定)
userというコレクションからデータを取得し表示する想定。
documentIdに取得したいドキュメントIDを指定します。
StreamBuilderで更新を監視。
@override
Widget build(BuildContext context) {
return StreamBuilder(
stream: Firestore.instance.collection('user').document(documentId).snapshots(),
builder: (context, snapshot) {
return Text(snapshot.data["email"]);
},
);
}
Firestoreデータ追加
userというコレクションにデータを追加する想定。
setData()メソッドでデータを追加します。
onPressed: () {
Map<String, dynamic> insertData = {
'username': 'engineerhikaru',
'email': '[email protected]',
}
Firestore.instance.collection('user').document().setData(insertData);
}
Firestoreデータ更新
userというコレクションのデータを更新する想定。
updateData()メソッドで指定したドキュメントIDのデータを更新します。
documentIdに更新したいドキュメントIDを指定します。
onPressed: () {
Map<String, dynamic> updateData = {
'username': 'engineerhikaru',
'email': '[email protected]',
}
Firestore.instance.collection('user').document(documentId).updateData(updateData);
}
Firestoreデータ削除
userというコレクションのデータを削除する想定。
delete()メソッドで指定したドキュメントIDのデータを削除します。
documentIdに削除したいドキュメントIDを指定します。
onPressed: () {
Firestore.instance.collection('user').document(documentId).delete();
}
まとめ
この記事が良いと思った方は、LGTMをしていただければ嬉しいです!
フォローも是非お願い致します(^^)
Author And Source
この問題について(Flutter × Firestore まとめ), 我々は、より多くの情報をここで見つけました https://qiita.com/engineerhikaru/items/695caee92f7a10660624著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .