firebase - Firestore ConnectionState 在颤振应用程序中永远处于等待状态
问题描述
我正在尝试从 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()
。
我carpools
在 FireStore 数据库中有一个集合,其中包含一些记录。
我已将 firestore 数据库规则设置为允许所有。
rules_version = '2';
service cloud.firestore {
match /** {
allow read, write: if true;
}
}
编辑:我的 Firebase 身份验证有效。(如果有帮助的话)
这里可能缺少什么?
解决方案
Firebase
您可以在控制台中修改安全设置。如果您在生产模式(不是测试)中创建数据库,它带有可能会阻止任何连接的安全规则,直到您允许为止。
打开Rules
数据库屏幕中的选项卡,(仅测试 -> 允许读取、写入;如下所示)如果有效,请考虑阅读安全规则并根据您的需要进行适当设置。
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write;
}
}
}
推荐阅读
- multithreading - Julia 中线性回归的并行/多线程版本
- model - 如何为序列分类模型标记器和配置保存微调的 bert?
- arrays - 如何在ionic4中的离子无线电组中选择单个单选按钮
- python - 'NoneType' 对象在 Python 中合并两个排序的链接列表时没有属性'next'
- flutter - Flutter:TextField onChanged 处理程序默默吞下异常
- dictionary - 在ansible playbook的嵌套循环中遍历字典列表
- python - 如何创建两个具有相同输出的单独 python 文件
- javascript - 将 res.data 分配给变量返回 null
- wordpress - 任何人都知道如何在 wordpress 页面中允许查询字符串参数?
- java - 使用流将列表汇总到极限