如何在Android中使用Firebase从当前用户获取特定数据?

时间:2017-05-29 13:18:37

标签: java android firebase firebase-authentication

我需要使用Firebase获取当前用户信息(姓名,电子邮件,地址等)。我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

您可以使用它来获取用户ID和名称

  FirebaseAuth auth = FirebaseAuth.getInstance();
        FirebaseAuth.AuthStateListener authListener = new FirebaseAuth.AuthStateListener() {
            @Override
            public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
                FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
                if (firebaseUser != null) {
                    String userId = firebaseUser.getUid();
                    String userEmail = firebaseUser.getEmail();

                    textviewUserID.setText(userId);
                    textviewUserEMail.setText(userEmail);
                } 
            }
        };

其他详情检查: -

https://firebase.google.com/docs/reference/android/com/google/firebase/auth/UserInfo

答案 1 :(得分:1)

您可以通过

获取Firebase当前用户的实例
public static FirebaseUser getFirebaseUser()
    {
    return getFirebaseAuth().getCurrentUser();
    }

public static FirebaseAuth getFirebaseAuth()
    {
    return FirebaseAuth.getInstance();
    }

您可以通过

检索用户的详细信息
getFirebaseUser().getDisplayName(), getFirebaseUser().getEmail()

答案 2 :(得分:1)

您可以使用已登录用户的currentUser属性(如果没有用户登录,则currentUser为null):

var user = firebase.auth().currentUser;
var name, email, photoUrl, uid, emailVerified;

if (user != null) {
 name = user.displayName;
 email = user.email;
 photoUrl = user.photoURL;
 emailVerified = user.emailVerified;
 uid = user.uid;
}

firebase currentUser documentation