Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase android用户身份验证_Android_Firebase_Firebase Authentication - Fatal编程技术网

Firebase android用户身份验证

Firebase android用户身份验证,android,firebase,firebase-authentication,Android,Firebase,Firebase Authentication,我正在为我的android应用程序使用firebase。我正在使用firebase身份验证,使用电子邮件和密码,但我需要保存用户的学生id以及电子邮件和密码,我希望在其上保持唯一性检查。我尝试通过先保存电子邮件和pass来添加额外的信息学生ID,然后我得到了它的uid,并使用相同的uid将国家ID保存在数据库中,但问题是我想检查国家ID是否唯一 firebaseDatabase= database.getReference("USERS"); mAuth.createUser

我正在为我的android应用程序使用firebase。我正在使用firebase身份验证,使用电子邮件和密码,但我需要保存用户的学生id以及电子邮件和密码,我希望在其上保持唯一性检查。我尝试通过先保存电子邮件和pass来添加额外的信息学生ID,然后我得到了它的uid,并使用相同的uid将国家ID保存在数据库中,但问题是我想检查国家ID是否唯一

 firebaseDatabase= database.getReference("USERS");

        mAuth.createUserWithEmailAndPassword(email, password)
                .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {


                        if (task.isSuccessful()) {
                            String userId = mAuth.getCurrentUser().getUid();
                            DatabaseReference dr = firebaseDatabase.child(userId);
                            dr.child("studentID").setValue(sID);
                            pr.dismiss();

                            Intent intent = new Intent(MainActivity.this, home.class);
                            startActivity(intent);
                        } else if (task.getException() instanceof FirebaseAuthUserCollisionException) {
                            Toast.makeText(MainActivity.this, "Already Registered!", Toast.LENGTH_LONG).show();

                            pr.dismiss();
                        } else {
                            Toast.makeText(MainActivity.this, "Connection Problem", Toast.LENGTH_LONG).show();

                            pr.dismiss();
                        }
                    }
                });
firebaseDatabase=database.getReference(“用户”);
mAuth.createUserWithEmailAndPassword(电子邮件,密码)
.addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
字符串userId=mAuth.getCurrentUser().getUid();
DatabaseReference dr=firebaseDatabase.child(userId);
child博士(“学生ID”)。设定值(sID);
pr.解雇();
意向意向=新意向(MainActivity.this,home.class);
星触觉(意向);
}else if(task.getException()实例为FirebaseAuthUserCollisionException){
Toast.makeText(MainActivity.this,“已注册!”,Toast.LENGTH_LONG.show();
pr.解雇();
}否则{
Toast.makeText(MainActivity.this,“连接问题”,Toast.LENGTH_LONG.show();
pr.解雇();
}
}
});

在保存额外信息之前,您必须读取数据库并找到国家id,如果firebase返回值,则该id存在,否则,您可以在数据库中创建一个名为您的ID的节点。

需要保存用户的国家ID以及电子邮件和密码
请确保您对涉及的安全问题有一个有效的了解-理想情况下,密码不会进入网络或永久存储。我已经编辑了这种情况。您现在可以告诉我怎么做吗