【发布时间】:2021-04-18 16:05:58
【问题描述】:
我正在尝试从 Firestore 云中检索变量的值。通过实现代码,我似乎遇到了一个错误,我花了好几个小时为此感到沮丧????,试图在这里和其他地方找到解决方案。我在代码旁边遇到的错误如下。
在构建 StreamBuilder(dirty, state:_StreamBuilderBaseState
Error Displayed on the Virtual Device
我正在使用的代码:
Widget buildStreamBuilder() {
return Container(
child: !_success
? Center(
child: CircularProgressIndicator(
valueColor: AlwaysStoppedAnimation<Color>(Colors.green),
),
)
: StreamBuilder(
stream: FirebaseFirestore.instance.collection('sensors').snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return Center(
child: CircularProgressIndicator(
valueColor: AlwaysStoppedAnimation<Color>(Colors.red),
),
);
} else {
snapshot.data.documents.forEach((doc) {
if (doc.documentID == 'cSBKpiEe1XKmQC8BDzMk') {
print('current value = ${doc['BatStat']}'); //var1
globalCurrentSensorValue = doc['BatStat'].toDouble();
}
});
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Expanded(
flex: 1,
child: Container(),
),
Expanded(
flex: 1,
child: Container(),
)
],
),
);
}
},
));
}
【问题讨论】:
-
正如彼得所回答的:该属性已从
documents重命名为docs。我建议将reference docs 保持打开状态,因为它们可以让您更轻松地自行解决此类问题。 migration guide 中也提到过:“已弃用:documents已弃用,取而代之的是docs” -
您好 ZenithAoa,欢迎来到 StackOverFlow。您的问题看起来非常好并且格式正确。关于截图只有一个花絮。外部链接可能是短暂的,因此如果您可以直接在问题中显示图片会很好。干得好。
-
@Frank,感谢您提供的信息。由于我是 Flutter/Dart 环境的新手,所以这对我来说是相当困难的。从来不知道参考文档如此有用,能够让我在上述问题之后的几分钟内解决一些问题。
标签: android firebase flutter dart google-cloud-firestore