![](/img/trans.png)
[英]How to retrieve user data of authenticated users in Firebase Realtime Database with Android
[英]Firebase Android Authenticated User
我对 Firebase 很陌生,有一个问题。
我希望将我的新验证用户链接到我正在使用的数据库。
我有一个名为 addChild 的类,它包含一个用于添加孩子姓名的 editText,并且需要将其链接到数据库上的经过身份验证的用户。 因此,当该用户登录时,他们可以看到他们输入的孩子的名字。
有谁知道我怎么能做到这一点? 我已经设置了实时数据库连接,只是不知道从哪里开始。
谢谢 这就是我创建用户的方式。
auth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(CreateUserAccount.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
Toast.makeText(CreateUserAccount.this, "User Account Created" + task.isSuccessful(), Toast.LENGTH_SHORT).show();
// If sign in fails, display a message to the user. If sign in succeeds
// the auth state listener will be notified and logic to handle the
// signed in user can be handled in the listener.
if (!task.isSuccessful()) {
Toast.makeText(CreateUserAccount.this, "Authentication failed." + task.getException(),
Toast.LENGTH_SHORT).show();
} else {
startActivity(new Intent(CreateUserAccount.this, LandingPage.class));
finish();
}
}
});
使用 Firebase 身份验证对用户进行身份验证后,您还可以将他的uid
发送到数据库:
FirebaseUser user=FirebaseAuth.getInstance().getCurrentUser();
String useruid=user.getUid();
然后在数据库中你会有这个:
Users
useruid
name: userx
email: userx@gmail.com
String name = editText.getText().toString();
String email = editTxt.getText().toString();
DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("Users").child(useruid);
ref.child("name").setValue(name);
ref.child("email").setValue(email);
编辑:
} else {
FirebaseUser user= task.getResult().getUser();
DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("Users").child(user.getUid());
ref.child("name").setValue(name);
ref.child("email").setValue(email);
startActivity(new Intent(CreateUserAccount.this, LandingPage.class));
finish();
}
在其他活动中添加孩子:
然后像这样添加它们:
Children
useruid <--- the id that is in the usernode above
childname: john
useruid
childname: james bond
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.