【发布时间】:2018-06-02 06:19:41
【问题描述】:
我正在使用Firebase 实时数据库制作一个Android 应用程序。当新用户在我的应用上注册时,该用户的数据将保存在 Firebase 数据库中。
用户必须提供以下详细信息才能注册:
- 全名
- 电子邮件
- 用户名
- 密码
数据库结构
每当新用户尝试注册时,我必须确保每个用户的用户名都是唯一的,因此我会检查数据库中用户输入的username 是否已存在于数据库中。
为此,我编写了以下方法:
private boolean usernameExists(String username) {
DatabaseReference fdbRefer = FirebaseDatabase.getInstance().getReference("Users/"+username);
return (fdbRefer != null);
}
我在这个方法背后的逻辑是,如果getReference方法找不到对指定路径的引用,它将返回null,以便我可以返回fdbRefer是否为null。如果fdbRefer是null,则表示username在数据库中不存在。
问题
这个方法的问题是,无论输入的username是否存在于数据库中,它总是返回true。这让我相信fdbRefer 永远不是null。
这让我想到了我的问题......
问题
getReference 方法在firebase 数据库中找不到指定路径时返回什么以及检查username 是否已存在于数据库中的正确方法是什么?
【问题讨论】:
标签: java android firebase firebase-realtime-database