Используя следующую строку кода:
String childValue = String.valueOf(dataSnapshot.getValue());
Это означает, что вы получаете всех пользователей в вашем Users
узле. Если вы хотите получить одного пользователя, аутентифицированного пользователя, вы должны пойти на уровень глубже в дереве. Я предполагаю, что fp60 ... Xez1
- это идентификатор пользователя, который приходит из процесса аутентификации, чтобы получить его данные, используйте следующие строки кода:
String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference uidRef = rootRef.child("Users").child(uid);
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String age = dataSnapshot.child("age").getValue(String.class);
String name = dataSnapshot.child("name").getValue(String.class);
String sex = dataSnapshot.child("sex").getValue(String.class);
Log.d("TAG", name + ", " + sex + ", " + age);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d("TAG", databaseError.getMessage()); //Don't ignore errors!
}
};
uidRef.addListenerForSingleValueEvent(valueEventListener);
Предполагая, что аутентифицированный пользователь имеет в качестве uidВ приведенном выше примере fp60 ... Xez1
результат в вашем logcat будет:
carlostest2, m, 28