我是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();
}
}
});
答案 0 :(得分:1)
使用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