我正在尝试从Firestore数据库中获取记录,并将其显示在Flutter应用中。
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Hello'),
actions: <Widget>[
IconButton(icon: Icon(Icons.list), onPressed: _pushSaved)
]),
drawer: _buildDrawer(),
body: _buildCarpoolsList(),
);
}
Widget _buildCarpoolsList() {
return StreamBuilder<QuerySnapshot>(
stream: Firestore.instance.collection("carpools").snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return CircularProgressIndicator();
} else {
var _carpools = snapshot.data.documents;
return ListView(
padding: const EdgeInsets.all(16.0),
children: _deserializeCarpools(_carpools));
}
});
}
在_buildCarpoolsList()
函数中,snapshot.ConnectionState
始终为ConnectionState.waiting
,该函数返回CircularProgressBar()
。
[我在FireStore数据库中获得了一个集合carpools
,其中有一些记录。
我已将Firestore数据库规则设置为允许所有。
rules_version = '2';
service cloud.firestore {
match /** {
allow read, write: if true;
}
}
编辑:我的Firebase身份验证有效。 (如果有帮助)
这里可能缺少什么?
您是否在GoogleService-Info.plist
中添加了Runner.xcworkspace
,必须使用Xcode打开它。我总是忘记将其添加到新项目中: