Как получить значение из POJO и установить значение в TextView - PullRequest
1 голос
/ 30 марта 2020

Как я могу получить значение из POJO и установить его значение на TextView в android studio MainActivity. java onCreate метод:

 FirebaseUser user=FirebaseAuth.getInstance().getCurrentUser();

 assert user != null;

 String UserID=user.getUid();
 UserInfoPOJO userinfopojo = new UserInfoPOJO(UserID);

UserInfoPOJO . java


public class UserInfoPOJO {

    private String UserID;

    public UserInfoPOJO(String userID) {
        UserID = userID;
    }

    public String getUserID() {
        return UserID;
    }

    public void setUserID(String userID) {
        UserID = userID;
    }
}

onCreate метод Main2Activity. java содержит:

пожалуйста, научите меня, как установить значение для textview здесь

        userid1 = findViewById(R.id.op_uid);
        userinfopojo = (UserID);
        userid1.setText();

snapshot of what i was trying to make

Снимок того, что я пытался сделать

Это не входит в вопрос выше.

Я хочу хранить данные в соответствии с Uid

1 Ответ

0 голосов
/ 31 марта 2020

Если bVVz ... i322 является идентификатором вошедшего в систему пользователя, чтобы получить значения email, mobile и name, измените класс UserInfoPOJO на:

class UserInfoPOJO {
    public String email, mobile, name;

    public UserInfoPOJO() {}
}

И чтобы сопоставить объект из базы данных с объектом типа UserInfoPOJO, используйте следующие строки кода:

String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference uidRef = rootRef.child(uid);
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        UserInfoPOJO userInfoPOJO = dataSnapshot.getValue(UserInfoPOJO.class);
        String email = userInfoPOJ.email;
        String mobile = userInfoPOJ.mobile;
        String name = userInfoPOJ.name;
        Log.d("TAG", email + "/" + mobile + "/" + name);
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {
        Log.d("TAG", databaseError.getMessage()); //Don't ignore errors!
    }
};
uidRef.addListenerForSingleValueEvent(valueEventListener);

Вывод в вашем logcat будет:

something@example.com/888888888/person name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...