【发布时间】:2018-01-04 05:18:22
【问题描述】:
我试图使用电子邮件和密码连接到 Firebase 中的身份验证,但每次输入电子邮件和密码时,我都会注册失败。这是我的代码:
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button buttonRegsiter;
private EditText editTextEmail;
private EditText editTextPassword;
private ProgressDialog progressDialog;
private FirebaseAuth firebaseAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
System.out.print("In main");
progressDialog = new ProgressDialog(this);
firebaseAuth = FirebaseAuth.getInstance();
buttonRegsiter = (Button) findViewById(R.id.registerUserButton);
editTextEmail = (EditText) findViewById(R.id.editTextEmail);
editTextPassword = (EditText) findViewById(R.id.editTextpassword);
buttonRegsiter.setOnClickListener(this);
}
private void registerUser(){
String email = editTextEmail.getText().toString().trim();
String password = editTextPassword.getText().toString().trim();
if(TextUtils.isEmpty(email)){
//email field is empty
Toast.makeText(this,"Please enter email",Toast.LENGTH_LONG).show();
return;
}
if(TextUtils.isEmpty(password)){
//password is empty
Toast.makeText(this,"Please enter your password",Toast.LENGTH_LONG).show();
return;
}
//if validations are ok
//show a progressbar
progressDialog.setMessage("Registering user...");
progressDialog.show();
firebaseAuth.createUserWithEmailAndPassword(email,password)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task){
if(task.isSuccessful()){
Toast.makeText(MainActivity.this,"Registration successful",Toast.LENGTH_LONG).show();
}
else{
Toast.makeText(MainActivity.this,"Failed to register. Please try again", Toast.LENGTH_LONG).show();
}
progressDialog.dismiss();
}});
}
@Override
public void onClick(View view) {
if(view == buttonRegsiter){
registerUser();
}
}
}
你能告诉我我的代码有什么错误吗?
这是我在 logcat 上遇到的错误
01-03 23:32:49.811 1570-1620/system_process E/SoundPool:错误加载 /system/media/audio/ui/Effect_Tick.ogg
【问题讨论】:
-
你在模拟器上测试应用吗?
-
可能是模拟器问题,看this
-
首先要知道是什么问题
FirebaseAuthException e = (FirebaseAuthException )task.getException();Log.e("LoginActivity", "Failed Registration", e);在else情况下写这个。
标签: android firebase authentication firebase-authentication emulation