Я пытаюсь получить userName пользователя из базы данных Firebase в реальном времени. Я использую ValueEventListener, и он не работает. Я сохранил данные как Пользователь объекты. Мой пользовательский класс модели имеет геттеры и сеттеры, параметризованные и пустые конструкторы. Пожалуйста помоги. У меня вопрос, что я пропускаю или делаю неправильно.
Это путь, который я использовал для сохранения объекта Пользователь :
mDatabaseRef = FirebaseDatabase.getInstance().getReference();
mDatabaseRef.child("users").child(user_type).child(mUserId).child("personal information").setValue(user);
Это код Я использую для получения данных, но это не работает!
mFirebaseUser = mFirebaseAuth.getCurrentUser();
userName = (TextView) findViewById(R.id.userNameHeader);
//check to see if user is logged in
if(mFirebaseUser==null){
//the user is not logged in, start login activity
loadLogInView();
}else {
mUserId = mFirebaseUser.getUid();
mDatabaseRef = FirebaseDatabase.getInstance().getReference(
"users").child("Buyer Account").child(mUserId).child("personal information");
mDatabaseRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
User user = dataSnapshot.getValue(User.class);
userName.setText(user.getUserName());
}
@Override
public void onCancelled(DatabaseError error) {
// Failed to read value
}
});
А вот как данные выглядят в базе данных в реальном времени: