Чтобы проверить, существует ли конкретное имя пользователя в базе данных или нет, пожалуйста, измените следующую строку кода:
Query userNames = db.collection("User").whereEqualTo(usernameInput, true);
на
Query userNames = db.collection("User").whereEqualTo("username", usernameInput);
Таким образом, вы должны проверить это *Свойство 1007 * содержит имя пользователя, которое вменяется в ваше EditText
.
Редактировать:
Поскольку вы сохраняете в качестве идентификатора документа username
Пожалуйста, смотрите мой код ниже, где вам не нужно, если заявление:
db.collection("User").document(usernameInput).get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot document = task.getResult();
if (document.exists()) {
Toast.makeText(this, "This username is already taken. Please choose another.", Toast.LENGTH_LONG).show();
} else {
Log.d(TAG, "No such document");
}
}
}
});