Vérifier si une valeur existe dans le Firebase base de données

Je fais une application Android à l'aide de Firebase en temps réel de la base de données. Lorsqu'un nouvel utilisateur s'inscrit sur mon application, que les données de l'utilisateur est enregistré dans la Firebase base de données.

Un utilisateur doit fournir les informations suivantes pour vous inscrire:

  1. Nom Complet
  2. E-mail
  3. Nom d'utilisateur
  4. Mot de passe

Structure De Base De Données

Vérifier si une valeur existe dans le Firebase base de données

Chaque fois qu'un nouvel utilisateur tente d'inscrire, je dois veiller à ce que chaque nom d'utilisateur est unique, j'ai donc vérifier la base de données si le username entré par l'utilisateur existe déjà dans la base de données ou non.

Pour ce faire, j'ai écrit la méthode suivante:

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

Ma logique derrière cette méthode est que si getReference méthode ne peut pas trouver de référence pour le chemin d'accès spécifié, il sera de retour null, afin que je puisse retourner si fdbRefer est null ou pas. Si fdbRefer est null, alors cela signifie que username n'existe pas dans la base de données.

Problème

Problème avec cette méthode est qu'elle renvoie toujours true si l'entrée username existe dans la base de données ou non. Ce qui m'a amené à croire que fdbRefer n'est jamais null.

Ce qui m'amène à ma question...

Question

Ce n' getReference de retour de méthode quand il ne peut pas trouver le chemin d'accès spécifié dans le firebase base de données et quelle est la bonne façon de vérifier si le username existe déjà dans la base de données ou pas?

InformationsquelleAutor Nick | 2017-12-19