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



///立即创建帐户到火力基地///如何将注册的电子邮件添加到我的实时数据库///或者是否可以在注册时获取电子邮件地址?我真的被困住了

        mAuth.createUserWithEmailAndPassword(email, password)
                .addOnCompleteListener(task -> {
                    if (task.isSuccessful()) {
                        //my action
                        sendEmailVerificationMessage();
                        progressDialog.dismiss();
                    } else {
                       //my second action
                    }
                });

if (task.isSuccessful()) { 中,您可以执行以下操作:

DatabaseReference ref= FirebaseDatabase.getInstance().getReference().child("users");
ref.child(mAuth.getCurrentUser().getUid()).child("email").setValue(email);

这将在数据库中创建以下内容:

users
  userId
     email: userEmail

按下注册按钮后,您将使用createUserWithEmailAndPassword(email,password)...将电子邮件和密码发送到Firebase,此方法具有一个回调,该回调将在创建用户时通知,然后在该回调中获取当前登录的用户电子邮件并将其发送到数据库

由于任务是AuthResult,因此您可以获取用户并获取要发送的电子邮件

mAuth.createUserWithEmailAndPassword(email, password)
                .addOnCompleteListener(task -> {
                    if (task.isSuccessful()) {
                        //my action
                        mDatabaseRef.child("users").child(FirebaseAuth.getInstance().getCurrentUser().getUid()).child("email").setValue(task.getUser().getEmail());
                        progressDialog.dismiss();
                    } else {
                       //my second action
                    }
                });
getUser()类型为

FirebaseUser,您可以在那里检查您可以请求的内容

最新更新