繁体   English   中英

如何在 Flutter 中将 Firebase 实时数据库读取为“字符串”(没有 Widget,streambuilder)?

[英]How to read Firebase realtime database as "string"(without Widget, streambuilder) in Flutter?

我想在不使用 streambuilder 的情况下读取 firebase RTDB。

我可以使用 future 或 provider 吗? 如果是这样,我应该如何处理它?

DatabaseReference databaseReference = FirebaseDatabase().reference();

class _BatteryStateReaderState extends State<BatteryStateReader> {
  @override
  Widget build(BuildContext context) {
    return StreamBuilder(
      stream: databaseReference.child("robot").onValue,
      builder: (context, AsyncSnapshot<Event> snap) {
        if (!snap.hasData) return Text("loading...");
        return Text(snap.data.snapshot.value["battery"].toString());
      }, 
    );
  }
}

firebase 数据库:

{ 
  robot: {
    battery : 88
  }
}

要获取Future<DataSnapshot>而不是 stream 事件,您可以对DatabaseReference使用once()调用。 请参阅有关once()方法的 FlutterFire 文档和该库示例中的此片段:

database.reference().child('counter').once().then((DataSnapshot snapshot) {
  print('Connected to second database and read ${snapshot.value}');
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM