如何在 Firebase 的 Android SDK 中监听单个字段

How to listen for a single field in Firebase's Android SDK

我正在尝试找出一种使用 FireBase API 来监听单个项目的方法。到目前为止,我想出了如何使用 orderByKeyequalTo 函数查询单个项目。

我尝试做一些类似的事情来监听单个值,但每当我更改一个值时,它都会给我整个数据库项目,而我只想要被更改的那个。我已经添加了 valueEventListenerchildEventListener,但它们似乎做了类似的事情。

有没有办法侦听单个项目并且仅 return 该单个项目?

如果我没理解错的话,假设这是您的 Firebase 设置摘要:

 yourApp:
   "node": {
       "subNode1": {
          "value1": value,
          "value2": value,
          "subSubNode":{
              //....values....//
           },
       },
  "node2": { ... },
  "node3": { ... }
  //...and so on ..//
},

您正在尝试收听 value2如果是这样,那是不可能的要访问这个,你需要监听父节点; subNode1onChildEvent,只需获取该值即可。

但是,如果您正在尝试收听 subNode1 甚至 subSubNode 可能的 .通过在创建 Firebase 对象时提供该对象的路径。

如果您 post 更多代码,我会相应地修改它以更好地回答您的问题。

编辑

假设您想要检索 subSubNode。创建对此的 Firebase 引用并添加侦听器:

 Firebase firebase = new Firebase("yourFirebaseURL").child("node").child("subSubNode");
 firebase.addChildEventListener(new .....);