Verificando se existe um valor específico no banco de dados do Firebase

Estou criando um aplicativo Android usandoFirebase banco de dados em tempo real. Quando um novo usuário é registrado no meu aplicativo, os dados desse usuário são salvos no banco de dados do Firebase.

Um usuário deve fornecer os seguintes detalhes para se registrar:

Nome completoO emailNome de usuárioSenhaEstrutura do banco de dados

Sempre que um novo usuário tenta se registrar, eu tenho que garantir que o nome de usuário de cada usuário seja único, para verificar o banco de dados se ousername inserido pelo usuário já existe no banco de dados ou não.

Para fazer isso, escrevi o seguinte método:

private boolean usernameExists(String username) {
     DatabaseReference fdbRefer = FirebaseDatabase.getInstance().getReference("Users/"+username);
     return (fdbRefer != null);
}

Minha lógica por trás desse método é que segetReference Se o método não encontrar referência ao caminho especificado, ele retornará nulo para que eu possa retornar sefdbRefer énull ou não. E sefdbRefer énull, então isso significa queusername não existe no banco de dados.

Problema

O problema com esse método é que ele sempre retornatrue se o digitadousername existe no banco de dados ou não. O que me levou a acreditar quefdbRefer nunca énull.

Isso me leva à minha pergunta ...

Pergunta, questão

O quegetReference O método retorna quando não consegue encontrar o caminho especificado no diretóriofirebase banco de dados e qual é a maneira correta de verificar se ousername já existe no banco de dados ou não?

questionAnswers(5)

yourAnswerToTheQuestion