在Android中使用Firebase数据库高效检索数据

在Android中使用Firebase数据库高效检索数据,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我的应用程序目前允许用户将其姓名、电子邮件、用户名和密码注册到Firebase数据库中。它创建一个子:Users,然后将其拆分为包含每个id的所有信息的唯一id。例如:Users->[uniqueID]->name,email 我需要帮助找到一种方法,这样当用户输入他们的电子邮件并登录时,它将尝试将其与数据库用户部分中的任何电子邮件进行匹配,以查看其是否有效。很像 if (listOfEmails.contains(emailLogin.getText().toString()) { } 解

我的应用程序目前允许用户将其姓名、电子邮件、用户名和密码注册到Firebase数据库中。它创建一个子:Users,然后将其拆分为包含每个id的所有信息的唯一id。例如:Users->[uniqueID]->name,email

我需要帮助找到一种方法,这样当用户输入他们的电子邮件并登录时,它将尝试将其与数据库用户部分中的任何电子邮件进行匹配,以查看其是否有效。很像

if (listOfEmails.contains(emailLogin.getText().toString()) {

}

解决这个问题的最简单方法是使用

而要验证用户是否存在,请在Firebase数据库中创建一个名为
usersEmail
的新节点。每次用户想要登录时,都要在那里添加他/她的电子邮件地址。您的数据库应如下所示:

Firebase-root
    |
    ---- usersEmail
       |
       ---- userId1: "john@email.com"
       |
       ---- userId2: "mary@email.com"
       |
       ---- userId3: "mark@email.com"
       |
       //and so on

希望有帮助。

这不是对您问题的直接回答,但值得考虑使用Firebase UI Auth进行身份验证,而不是自己编写所有代码。