java - 如何从 Firebase Android 中的用户 ID 获取用户对象

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

假设我在 Android 的 Firebase 中创建了用户,其 UID 是 rka1KNwIA2elmmHOv97AZbj9KDs1 并且我想要 User 对象,它类似于 user我们将从以下代码中得到

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

enter image description here

最佳答案

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

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

关于java - 如何从 Firebase Android 中的用户 ID 获取用户对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61499528/

相关文章:

java - 在 java 中使用 JSON-Simple 替换值

java - 如何在window azure中运行java tcp服务器?

java - JVM requirements incompatible 错误

android - 此应用程序未在其 list 中启用 debuggable 属性

android gps 当前位置

Android fragment 隐藏在操作栏下

java - 使用邮箱和密码注册成功后,我可以将邮箱自动添加到实时数据库吗?

java - 如何检查电脑是否已连接到互联网?

swift - iOS : Firebase phone Authenication

firebase - firestore.FieldValue.serverTimestamp() 是异步的吗?