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

时间:2019-04-14 14:08:52

标签: android firebase firebase-realtime-database firebase-authentication

/// 立即创建帐户以登录fireBase /// 如何将注册的电子邮件添加到我的实时数据库 /// 还是可以在注册时获取电子邮件地址?我真的很困

        mAuth.createUserWithEmailAndPassword(email, password)
                .addOnCompleteListener(task -> {
                    if (task.isSuccessful()) {

                        //my action

                        sendEmailVerificationMessage();
                        progressDialog.dismiss();

                    } else {
                       //my second action
                    }
                });

2 个答案:

答案 0 :(得分:2)

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

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

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

users
  userId
     email: userEmail

答案 1 :(得分:1)

按下注册按钮后,您将使用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,您可以在此处查看可以请求的内容