Не проходит регистрация в FireBase

203
18 июля 2018, 01:30
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_email_password);
    mAuth = FirebaseAuth.getInstance();
    mAuthListener = new FirebaseAuth.AuthStateListener() {
        @Override
        public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
            FirebaseUser user = firebaseAuth.getCurrentUser();
            if (user != null){
            }
            else {
            }
        }
    };
    ETemail = (EditText) findViewById(R.id.et_email);
    ETpassword = (EditText) findViewById(R.id.et_password);
    findViewById(R.id.bt_sign_in).setOnClickListener(this);
    findViewById(R.id.bt_registration).setOnClickListener(this);
}
@Override
public void onClick(View view) {
    if (view.getId() == R.id.bt_sign_in){
        signin("us1@gmail.com","12345678");
        //signin(ETemail.getText().toString(), ETpassword.getText().toString());
    }
    else if (view.getId() == R.id.bt_registration){
        registration("us1@gmail.com","12345678");
        //registration(ETemail.getText().toString(), ETpassword.getText().toString());
    }
}
public void registration (String email, String password){
    mAuth.createUserWithEmailAndPassword(email,password).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
        @Override
        public void onComplete(@NonNull Task<AuthResult> task) {
            if (task.isSuccessful()){
                Toast.makeText(EmailPasswordActivity.this,"Регистрация успешна",Toast.LENGTH_SHORT).show();
            }
            else{
                Toast.makeText(EmailPasswordActivity.this,"Регистрация провалена",Toast.LENGTH_SHORT).show();
            }
        }
    });
}

Связь с Firebase:

Connect your app to Firebase: connected

Add Firebase Authentication...: Dependencies set up correctly

При попытке регистрации следующие ошибки:

06-15 10:32:28.381 11335-11335/com.example.tug.cloudtasks E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.tug.cloudtasks, PID: 11335
java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.android.gms.tasks.Task com.google.android.gms.common.api.GoogleApi.zzb(com.google.android.gms.common.api.internal.zzdf)' on a null object reference
    at com.google.android.gms.internal.zzdtp.zzb(Unknown Source:4)
    at com.google.android.gms.internal.zzdtw.zza(Unknown Source:19)
    at com.google.firebase.auth.FirebaseAuth.createUserWithEmailAndPassword(Unknown Source:15)
    at com.example.tug.cloudtasks.EmailPasswordActivity.registration(EmailPasswordActivity.java:75)
    at com.example.tug.cloudtasks.EmailPasswordActivity.onClick(EmailPasswordActivity.java:55)
    at android.view.View.performClick(View.java:6256)
    at android.view.View$PerformClick.run(View.java:24697)
    at android.os.Handler.handleCallback(Handler.java:789)
    at android.os.Handler.dispatchMessage(Handler.java:98)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6541)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Answer 1

Думаю, я смогу вам помочь. Регистрацию я делал в трех или четырех проектах, используя следующий код на Kotlin:

auth.createUserWithEmailAndPassword(email!!, password).addOnCompleteListener(this) { task ->
    if (task.isSuccessful) {
        onAuthSuccess(task.result.user.uid)
    } else {
        showIOSDialog(false)
        Toast.makeText(this@SignUpActivity, getString(R.string.registration_error), Toast.LENGTH_SHORT).show()
    }
}

В поля email и password вставляете то, что ввел пользователь. В настройках firebase вы должны включить регистрацию по email и паролю: Удачи!

Дополнение № 1 Забыл привести gradle настройки) Я использую последние версии на текущий момент, вы можете удалить не используемые библиотеки:

implementation "com.google.firebase:firebase-core:16.0.0"
implementation "com.google.firebase:firebase-auth:16.0.1"
implementation "com.google.firebase:firebase-storage:16.0.1"
implementation "com.google.firebase:firebase-database:16.0.1"
implementation "com.google.firebase:firebase-messaging:17.0.0"
implementation "com.google.firebase:firebase-config:16.0.0"
implementation 'com.google.android.gms:play-services-location:15.0.1'
implementation 'com.google.android.gms:play-services-places:15.0.1'
implementation 'com.kelvinapps:rxfirebase:0.0.16'
implementation 'com.firebaseui:firebase-ui-database:1.2.0'
READ ALSO
Как правильно написать свойства wrapper-а?

Как правильно написать свойства wrapper-а?

Вопрос исключительно мучает меня 3 дня и только для профессионалов CSS этот вопрос очень важный для понимания как работает верстка так как...

208
Как сделать навигацию такого типа?

Как сделать навигацию такого типа?

Есть обычная навигация

259
Как вызвать success callback

Как вызвать success callback

Я пишу метод save обьекта user который должен иметь в себе ивенты success и error (это ивенты?)

152