Ich habe eine Registrierungsaktivität mit Firebase-Authentifizierung erstellt, aber als ich die Anwendung ausgeführt und auf die Anmeldeschaltfläche geklickt habe, ist nichts passiert. Nur der Fortschrittsdialog, der nur rotierte und sich nicht einmal anmeldete.Firebase Authorization Error
Hier ist mein Code:
public class RegisterActivity extends AppCompatActivity {
private EditText mNameField;
private EditText mEmailField;
private EditText mPasswordField;
private Button mRegisterBtn;
private FirebaseAuth mAuth;
private DatabaseReference mDatabase;
private ProgressDialog mProgress;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
mAuth = FirebaseAuth.getInstance();
mDatabase = FirebaseDatabase.getInstance().getReference().child("users");
mProgress = new ProgressDialog(this);
mNameField = (EditText) findViewById(R.id.nameFied);
mEmailField = (EditText) findViewById(R.id.emailField);
mPasswordField = (EditText) findViewById(R.id.passwordField);
mRegisterBtn = (Button) findViewById(R.id.registerBtn);
mRegisterBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startRegister();
}
});
}
private void startRegister() {
final String name = mNameField.getText().toString().trim();
String email = mEmailField.getText().toString().trim();
String password = mPasswordField.getText().toString().trim();
if(!TextUtils.isEmpty(name) && !TextUtils.isEmpty(email) && !TextUtils.isEmpty(password)){
mProgress.setMessage("Signing up...please wait");
mProgress.show();
mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()){
String user_id = mAuth.getCurrentUser().getUid();
DatabaseReference current_user_db = mDatabase.child(user_id);
current_user_db.child("name").setValue(name);
current_user_db.child("image").setValue("default");
mProgress.dismiss();
Intent mainIntent = new Intent(RegisterActivity.this, MainActivity.class);
mainIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(mainIntent);
}
}
});
}
if (TextUtils.isEmpty(name) && TextUtils.isEmpty(email) && TextUtils.isEmpty(password)){
Toast.makeText(RegisterActivity.this, "do not leave any field empty", Toast.LENGTH_LONG).show();
}
}
}
Ich weiß nicht, was ich falsch gemacht habe.
Hier sind meine gradle Abhängigkeiten:
compile 'com.google.firebase:firebase-database:9.2.0'
compile 'com.google.firebase:firebase-auth:9.2.0'