为什么没有调用此Firebase侦听器?

问题描述 投票:0回答:2

各位程序员,我正在使用Firebase和Flutter开发一个新的应用程序,当我从实时数据库中检索一些如下所示的数据时,我已经完成了一个问题:

example

我的主要问题是这部分代码根本没有被调用:.listen((Event event) {//...})

这是我用来检索数据的代码的一部分:

static Future<StreamSubscription<Event>> getTodoStream(String todoKey,
      void onData(Todo todo)) async {
    String accountKey = await Preferences.getAccountKey();

    StreamSubscription<Event> subscription = FirebaseDatabase.instance
        .reference()
        .child("")
        .child(account)
        .child("")
        .child(Key)
        .onValue
        .listen((Event event) {
      var todo = new Todo.fromJson(event.snapshot.key, event.snapshot.value);
      onData(todo);
    });
}

我按照本教程:

https://www.youtube.com/watch?v=Bper2K92bd8&feature=youtu.be

这是我用作例子的代码:

https://gist.github.com/branflake2267/ea80ce71179c41fdd8bbdb796ca889f4

但是,正如我所说,听不到触发。你们有谁知道为什么它不起作用?谢谢你的建议。

android web-services firebase firebase-realtime-database flutter
2个回答
1
投票

如果你的代码确实包含这些空白字符串(child("")),我认为它不会起作用!

首先尝试指定您知道存在的常量路径,例如:

FirebaseDatabase.instance.reference()
  .child("/appointment-764c0/Akashdeep")
  .onValue.listen((Event event) {

在Akashdeep内改变一些东西......

也许那时你可以将你的代码更改为......

  .child("/$accountKey/$otherParam")

0
投票

主要问题是数据库的配置,因为它没有设置为读/写。

© www.soinside.com 2019 - 2024. All rights reserved.