如何使用Android获取Fire base数据库中所有子项的一个特定值

如何使用Android获取Fire base数据库中所有子项的一个特定值,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我想从我的Firebase数据库中获取所有名称,这是我的代码片段 databaseRef.child('Users').addValueEventListener(new ValueEventListener() { @Override public void onDataChange (DataSnapshot dataSnapshot) { // } } @Override public void onCancelled (DatabaseError databaseError

我想从我的Firebase数据库中获取所有名称,这是我的代码片段

databaseRef.child('Users').addValueEventListener(new ValueEventListener() {

@Override
public void onDataChange (DataSnapshot dataSnapshot) {

  //
  }
}

@Override
public void onCancelled (DatabaseError databaseError) {

} };);

查询
用户的所有节点

databaseRef.child('Users').addValueEventListener(new ValueEventListener() {

    @Override
    public void onDataChange (DataSnapshot dataSnapshot) {

      for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
         // parse the snapshot to your local model
         User user = postSnapshot.getValue(User.class);

         // access your desired field
         String name = user.getName();
      }
    }

    @Override
    public void onCancelled (DatabaseError databaseError) {

    }
  };
);

尝试下面的代码…其中UserDetails是一个POJO类

datbabseref = FirebaseDatabase.getInstance().getReference().child("Users");    


databaseRef.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            try {
                parkingList.clear();
                for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
                    STSParkingDetails post = postSnapshot.getValue(UserDetails.class);
                    UserDetails.class userDetails = new UserDetails.class(post.getName(),post.getAge(),post.getEmail(),post.getPhone());
                    parkingList.add(stParkingDetails);
                }
                saveParkingLocation();
            } catch (Exception e) {
                Log.e(TAG, "Exception e = " + e.getLocalizedMessage());
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
            Log.d(TAG, databaseError.toString());
        }
    });

谢谢你证明它对我有帮助:)你能解释一下这条线的工作原理吗。STSParkingDetails post=postSnapshot.getValue(UserDetails.class);