如何在Firebase数据库(Android)中计算子代数

时间:2018-10-04 07:22:36

标签: java android firebase firebase-realtime-database

我需要计算Firebase数据库中的所有子代。

这是Firebase结构:

Level 1 - CHILD1 - - subchild1 - - subchild2 - CHILD2 - - subchild 1

我如何从1级起计算儿童数? (在此示例中,它需要返回2 ...)

4 个答案:

答案 0 :(得分:1)

Query在第一级,然后在SnapShot中使用:getChildrenCount()

因此query将是这样的:

myRef.child("level1").child("subchild1"). // Your listener after

选中this link

还有here

答案 1 :(得分:0)

DatabaseReference mDatabaseRef = FirebaseDatabase.getInstance().getReference();
mDatabaseRef.child("level1").addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                   if(dataSnapshot !=null)
                       long count= dataSnapshot.getChildren();
                }  
             });

答案 2 :(得分:0)

尝试

FirebaseDatabase db = FirebaseDatabase.getInstance();
DatabaseReference ref = db.getReference();

ref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
    Log.e(dataSnapshot.getKey(),dataSnapshot.getChildrenCount() + "");
}

@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {

}

@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {

}

@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {

}

@Override
public void onCancelled(DatabaseError databaseError) {

}
});

答案 3 :(得分:0)

此代码将为您提供帮助。

(int)dataSnapshot.getChildrenCount()