Как я могу получить объект User из его идентификатора пользователя в Firebase Android - PullRequest
3 голосов
/ 29 апреля 2020

Предположим, я создал пользователя в Firebase в Android с его UID rka1KNwIA2elmmHOv97AZbj9KDs1, и мне нужен объект User, который похож на user , который мы получим из следующего фрагмента кода

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

enter image description here

1 Ответ

2 голосов
/ 29 апреля 2020

Чтобы решить эту проблему, сначала вам нужно создать класс:

public class User {
    public String imageURL, mail, misno, name, phon;

    public User() {}
}

Теперь, чтобы получить объект rka1KNwIA2elmmHOv97AZbj9KDs1 как объект класса User, используйте следующие строки: code:

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

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

Я добавил оператор журнала, чтобы увидеть, что в logcat выводится имя пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...