我想获取 Firebase 实时数据库中的元素数量。
我可以获得子元素的数量,但不能获得元素的数量。
例如:
https://i.hizliresim.com/Lb46ao.png
如您所见,子元素数量为 3,我的代码返回 3,但我想计算所有元素而不是子元素。
root.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
totalSize = (int) dataSnapshot.getChildrenCount(); //It gives 3,
//not number of elements. I want to obtain number of elements. Number of elements 1204 for now.
}
@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:msg
, name
, time
.
要计算 child 的数量,您需要使用 ValueEventListener
:
root.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
totalSize = (int) dataSnapshot.getChildrenCount();
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException(); // don't ignore errors
}
});
关于java - 获取 Firebase 中的元素数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48407742/