我有一个应用程序,每次用户使用 Google 电子邮件提供商注册并且用户被推送时,都会将 user.getEmail 存储在数据库中以 firebase 数据库根据其唯一的 Firebase Random ID 生成。 我如何计算节点 Authenticated-Users 下所有这些基本上 Random IDs 的数量?
如您在图片中所见,我基本上有 2 个用户,我想计算这些生成的 ID,例如 2。
UPDATED 如果这不可能,那么如何知道所有数据何时完全加载 ???
最佳答案
使用以下代码:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference yourRef = rootRef.child("Authenticated-Users");
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
long count = dataSnapshot.getChildrenCount();
Log.d("TAG", count + "");
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
yourRef.addListenerForSingleValueEvent(eventListener);
或者像这样遍历 children :
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference yourRef = rootRef.child("Authenticated-Users");
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
int count = 0;
for(DataSnapshot ds : dataSnapshot.getChildren()) {
count = count + 1;
}
Log.d("TAG", count + "");
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
yourRef.addListenerForSingleValueEvent(eventListener);
关于java - 如何在 Firebase 中获取父节点的嵌套节点数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48645172/