Firebase ChildEventListener监听多少级别

时间:2015-07-27 10:40:54

标签: android firebase firebase-realtime-database

我当前的Android应用程序使用Firebase来存储用户数据。

我的数据有以下" 结构" (和/或级别

my-android-app.firebaseio.com/level0/level1/UUID1/UUID2

数据对象存储在类似于

的UUID2中
{
   "Students":[
      {
         "Name":"Amit Goenka",
         "Major":"Physics"
      },
      {
         "Name":"Smita Pallod",
         "Major":"Chemistry"
      },
      {
         "Name":"Rajeev Sen",
         "Major":"Mathematics"
      }
   ]
}

我需要能够检测添加,删除或更改子数据的时间等 下面(at)UUID2,但是我只想使用这个路径设置我的ChildEventListener

android-app.firebaseio.com/level0/level1

这可能吗?

在我的测试中,到目前为止,我必须指定完整的路径: -

my-android-app.firebaseio.com/level0/level1/UUID1/UUID2

1 个答案:

答案 0 :(得分:1)

Firebase将针对您注册正确侦听器的级别下的任何更改触发child_*事件。但它只会在您注册的级别下为已添加/删除 的节点触发child_added / child_removed。对于其他更改,它会触发child_changed,也可能child_moved

您的选择:

  • flatten the tree
  • 收听value次活动
  • 收听所有child_个事件并找出更改