Ошибка аутентификации FireBase MAuth.createUserWithEmailAndPassword (электронная почта, пароль)

#android #firebase #firebase-authentication

#Android #firebase #firebase-аутентификация

Вопрос:

Итак, я пытаюсь добавить службу аутентификации и входа в свое приложение, я выполняю все шаги, описанные в FireBase, хотя я не могу пройти через эту часть, там говорится, что ошибка

createUserWithEmailAndPassword (Java.lang.Строка, Java.lang.Строка) в FirebaseAuth не может быть применена к (Android.widget.text, Android.widget.text)

Заранее спасибо за любую предоставленную помощь. Код следующий:

 public void Register(View view) {
    Intent intent = new Intent(LoginActivity.this, BottomActivity.class);
    startActivity(intent);
    attemptLogin();

    mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener( this, new OnCompleteListener<AuthResult>() {
        @Override
        public void onComplete(@NonNull Task<AuthResult> task) {
            if (task.isSuccessful()) {
                Log.d( TAG, "createUserWithEmail:success" );
                FirebaseUser user = mAuth.getCurrentUser();
                updateUI( user );
            } else {
                Log.w(TAG, "createUserWithEmail:failed");
                Toast.makeText(LoginActivity.this, "Authentication failed", Toast.LENGTH_SHORT).show();
                updateUI( null );
            }
        }
    } );
}
  

электронная почта / пароль:

 private AutoCompleteTextView email;
private EditText password;
  

Комментарии:

1. покажите, как вы инициализировали переменные email и password

2. Также удалите это лишнее пространство (email, password)

3. Пожалуйста, покажите нам, каковы значения для emai и password при попытке аутентификации. Пожалуйста, также ответьте @AlexMamo

4. @AlexMamo приватный автозавершенный текстовый просмотр электронной почты; личный пароль для редактирования текста;

5. Вы пробовали решение ribbit?

Ответ №1:

используйте вот так

  mAuth.createUserWithEmailAndPassword(email.getText().toString(), password.getText().toString()).addOnCompleteListener( this, new OnCompleteListener<AuthResult>() {
        @Override
        public void onComplete(@NonNull Task<AuthResult> task) {
            if (task.isSuccessful()) {
                Log.d( TAG, "createUserWithEmail:success" );
                FirebaseUser user = mAuth.getCurrentUser();
                updateUI( user );
            } else {
                Log.w(TAG, "createUserWithEmail:failed");
                Toast.makeText(LoginActivity.this, "Authentication failed", Toast.LENGTH_SHORT).show();
                updateUI( null );
            }
        }
    } );
  

Комментарии:

1. Спасибо, чувак, это сработало, теперь, как мне перейти от этого к тому, чтобы каждый раз, когда пользователь нажимает кнопку «зарегистрироваться», он создает нового пользователя в Firebase?

2. Приятно это слышать

Ответ №2:

При чтении ошибки, которую вы получаете, это говорит о том, что тип передаваемых вами параметров не соответствует ожидаемому методом. Он ожидает String объекты. Поэтому вам нужно будет извлечь это значение из вашего TextView и EditText .

Попробуйте передать email.getText().toString() и password.getText().toString в качестве параметров вместо email и password .

Итак

 mAuth.createUserWithEmailAndPassword(email.getText().toString(), password.getText().toString())...
  

Ответ №3:

Ответ очень прост, вы должны добавить путь к классу ‘com.google.gms: google-services:4.3.8’ в зависимости build.gradle, а затем добавить идентификатор ‘com.google.gms.google-services’ во built.gradle (приложение) вот и все.

Комментарии:

1. Привет, чувак. Спасибо за ваш вклад. Однако мне удалось решить это около 2 лет назад, ха-ха-ха.