从Google Firebase中的DatabaseReference中提取子名称

时间:2016-11-09 21:30:52

标签: android firebase firebase-realtime-database

我想提取mUsrRef的所有子节点的名称(字符串)。

DatabaseReference mUsrRef;

public void read_child() {
    mUsrRef = mUsersRef.child("user_name");
    // ...
}

我该怎么做?

2 个答案:

答案 0 :(得分:1)

您可以使用DataSnapshot.getChildren()

public void read_child() {
  mUsrRef = mUsersRef.child("user_name");
  mUsrRef.addValueEventListener(new ValueEventListener() {
    public void onDataChange(DataSnapshot dataSnapshot) {
      for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
        Log.i(TAG, childSnapshot.getKey());
      }
    }
    public void onCancelled(DatabaseError databaseError) {
      Log.w(TAG, "onCancelled", databaseError.toException());
    }
  });
}

答案 1 :(得分:1)

您必须添加一个监听器。例如:

    mUsrRef.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot child : dataSnapshot.getChildren() ) {
                child.getKey();
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });

希望这有帮助。