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 dadosSempre 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.
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ãoO 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?