#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
при попытке аутентификации. Пожалуйста, также ответьте @AlexMamo4. @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 лет назад, ха-ха-ха.