android - 如何在 Flutter 中从 Firebase 获取文档?
问题描述
我正在处理 Flutter 中的 Futurebuilder,我想创建一个 Future 函数,该函数将从我的 Firebase 中获取数据。之后,我想在文本小部件中使用该数据,因此我尝试编写此函数以从 firebase 获取数据。
Future getData() async {
var fb = Firestore.instance;
DocumentSnapshot dr = (await fb.collection("records").document("the record").get());
return dr.toString();
}
但是当我尝试在 FutureBuilder 中使用该数据时,我只使用了“DocumentSnapsot”文本的实例。
在这里你可以看到我的 FutureBuilder 代码
body: Center(
child: FutureBuilder(
future: getData(),
builder: (_ ,snapshot){
if(snapshot.connectionState==ConnectionState.waiting) {
return RaisedButton(
child: Text("loading" ),
onPressed: null,
);
}
if(snapshot.connectionState==ConnectionState.done) {
return RaisedButton(
child: Text(snapshot.data),
onPressed: () {},
);
}
return null;
}
这是运行程序后的结果:
另外,这是我的火力基地。我只想在程序内部达到并操作 0 值。
解决方案
该DocumentSnapshot
toString
方法不提供您尝试检索的文档中包含的数据。要从 a 获取文档中的数据DocumentSnapshot
, do dr.data
,它返回 aMap
包含存储在文档中的字段和这些字段的关联数据。这应该在您的getData()
方法中完成。
Returns的toString
方法,因此为什么您的按钮显示的是它而不是您想要的。DocumentSnapshot
"Instance of 'DocumentSnapshot'"
推荐阅读
- java - executeUpdate 为“INSERT INTO with SELECT”返回不正确的值
- scala - 匹配元组中第一个引用项的第 n 个条目
- python - UnicodeEncodeError:尝试将希伯来语写入 PDF 时,“latin-1”编解码器无法编码
- regex - 计算PostgreSQL中字符串中一组不同子字符串的出现次数
- r - 基于日期变量的滚动总和
- loops - 如何在柏树中停止循环
- mongodb - Mongodb查询不返回记录,即使数据存在于数组中
- visual-studio-code - 有没有办法查看按键时运行的命令?
- java - 如何为 azurei 设置 i 响应状态 n Sprint 云功能
- python - Numpy Elementwise 乘法,多列