【问题标题】:How can I get User object from its user id in Firebase Android如何从 Firebase Android 中的用户 ID 获取用户对象
【发布时间】:2020-08-13 09:46:41
【问题描述】:

假设我在 Android 的 Firebase 中创建了用户,其 UID 为 rka1KNwIA2elmmHOv97AZbj9KDs1,我想要类似于 userUser 对象,我们将从以下代码中获得 p>

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

【问题讨论】:

  • 您是否将该用户存储在数据库中?如果是这样,请将您的数据库结构添加为 JSON 文件或至少是屏幕截图。
  • 我已经添加了 Scrrenshot
  • 我建议将屏幕截图添加到您的问题中,而不是在链接中,您的问题也不是很清楚。
  • 完成,我已经添加了截图

标签: java android firebase firebase-realtime-database firebase-authentication


【解决方案1】:

要解决这个问题,首先,您需要创建一个类:

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

    public User() {}
}

现在,要将rka1KNwIA2elmmHOv97AZbj9KDs1 对象作为User 类的对象,请使用以下代码行:

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 中打印出的用户名。

【讨论】:

    猜你喜欢
    • 2018-05-28
    • 1970-01-01
    • 2021-11-25
    • 1970-01-01
    • 2020-02-28
    • 1970-01-01
    • 2020-11-12
    • 2018-09-24
    • 2019-06-27
    相关资源
    最近更新 更多