Android 如何获取Firebase数据库中记录的大小?

Android 如何获取Firebase数据库中记录的大小?,android,firebase-realtime-database,Android,Firebase Realtime Database,我是firebase的新手,我试图获取用户中的数据大小,其中用户有不同的记录,每个记录都有两个属性名称和联系人。我想在cont中获得记录的大小。我正试图在使用java的android应用程序中获得这个 数据库的结构如下所示 用户 Records Name Contact 我想获取记录的计数。使用值侦听器 FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference

我是firebase的新手,我试图获取
用户中的数据大小,其中
用户有不同的
记录
,每个记录都有两个属性
名称
联系人
。我想在cont中获得
记录的大小。我正试图在使用java的android应用程序中获得这个

数据库的结构如下所示

用户

   Records
        Name
        Contact
我想获取记录的计数。

使用值侦听器

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference();

//You can use the single or the value.. depending if you want to keep track
thismyRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
    for (DataSnapshot snap: dataSnapshot.getChildren()) {
        Log.e(snap.getKey(),snap.getChildrenCount() + "");
    }
}

@Override
public void onCancelled(DatabaseError databaseError) {

}
});
你所需要的就是

也看看这个

要获取计数,只有一行
dataSnapshot.getChildrenCount()

请参考下面的答案

ref.addListenerForSingleValueEvent(new ValueEventListener() { //ref will be your desired path where you want to count children
                    @Override
                    public void onDataChange(DataSnapshot dataSnapshot) {
                        if (dataSnapshot.getValue() != null) {   // Check for data snapshot has some value
                            dataSnapshot.getChildrenCount()  // check for counts of data snapshot children
                           }
                    }

                    @Override
                    public void onCancelled(DatabaseError databaseError) {

                    }
                });

假设您的数据库结构如下所示:

Firebase-root
    |
    --- users
          |
          --- uidOne
          |    |
          |    --- name: "NameOne"
          |    |
          |    --- contact: "ContactOne"
          |
          --- uidTwo
               |
               --- name: "NameTwo"
               |
               --- contact: "ContactTwo"
要获取用户数,请使用以下代码:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference usersRef = rootRef.child("users");
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        long count = dataSnapshot.getChildrenCount();
        Log.d("TAG", "count= " + count);
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        Log.d(TAG, task.getException().getMessage()); //Don't ignore potential errors!
    }
};
usersRef.addListenerForSingleValueEvent(valueEventListener);