Comprobando si existe un valor particular en la base de datos de Firebase

Estoy haciendo una aplicación de Android usandoFirebase base de datos en tiempo real. Cuando un nuevo usuario se registra en mi aplicación, los datos de ese usuario se guardan en la base de datos de Firebase.

Un usuario debe proporcionar los siguientes detalles para registrarse:

Nombre completoEmailNombre de usuarioContraseñaEstructura de base de datos

Cada vez que un nuevo usuario intenta registrarse, tengo que asegurarme de que el nombre de usuario de cada usuario sea único, así que verifico la base de datos siusername ingresado por el usuario ya existe en la base de datos o no.

Para hacer esto, escribí el siguiente método:

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

Mi lógica detrás de este método es que sigetReference El método no puede encontrar referencia a la ruta especificada, devolverá nulo para que pueda devolver sifdbRefer esnull o no. SifdbRefer esnullentonces significa queusername no existe en la base de datos.

Problema

El problema con este método es que siempre regresatrue si el ingresadousername existe en la base de datos o no. Lo que me llevó a creer quefdbRefer es nuncanull.

Esto me lleva a mi pregunta ...

Pregunta

Que hacegetReference método de retorno cuando no puede encontrar la ruta especificada en elfirebase base de datos y cuál es la forma correcta de verificar si elusername ya existe en la base de datos o no?

Respuestas a la pregunta(5)

Su respuesta a la pregunta