检查Firebase中的最后一个Child是否为android

时间:2016-10-31 07:45:38

标签: android firebase firebase-realtime-database

如果这是最后一个孩子,从Firebase检索数据时如何知道?

1 个答案:

答案 0 :(得分:2)

根据Firebase documentation

  

public DatabaseReference getParent()
  对父位置的DatabaseReference,如果此实例引用根位置,则为null

     

public DatabaseReference getRoot()
  对此Firebase数据库的根位置的引用

因此,您可以在DatabaseReference对象上使用getRoot()始终转到root或getParent(),直到获得null。

您应该在扁平化结构中构建数据,这样您就不会对数据的结束位置感到困惑(documentation):

  

避免嵌套数据

     

由于Firebase实时数据库允许最多嵌套数据深度为32级,因此您可能会认为这应该是默认结构。但是,当您在数据库中的某个位置获取数据时,还会检索其所有子节点。此外,当您在数据库中的某个节点上授予某人读取或写入权限时,您还可以授予他们访问该节点下所有数据的权限。因此,在实践中,最好保持数据结构尽可能平坦。