我通过使用注册了一个用户createUserWithEmailAndPassword()
并使用登录signInWithEmailAndPassword()
方法。现在,当我登录用户时,我需要获取存储在用户节点中的用户名、手机。我可以获取每个用户的UId,通过使用这个如何在android中获取提到的信息?
你所要做的就是使用UserProfileChangeRequest
mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()){
// Sign in success
FirebaseUser user = mAuth.getCurrentUser();
UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
.setDisplayName(mName).build();
user.updateProfile(profileUpdates).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Log.d(TAG, "User profile updated.");
}
}
});
}
});
然后,要检索它,请在需要的地方使用它,
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
// Name, email address etc
String name = user.getDisplayName();
String email = user.getEmail();
}
或者您可以创建自己的自定义节点。!
String currentuser = FirebaseAuth.getInstance().getUid();
//save user node after successful signup.
mFirebaseInstance.getReference("user").child(scurrentuser ).setValue(parameters);
databaseReference = FirebaseDatabase.getInstance().getReference().child("user").child(currentuser );
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot userSnapShot: dataSnapshot.getChildren()){
User user = userSnapShot.getValue(User.class);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)