一个firebase用户如何通过在Android中输入电子邮件来搜索另一个firebase用户

时间:2018-04-24 15:51:04

标签: android firebase firebase-realtime-database firebase-cloud-messaging google-cloud-firestore

我希望一位用户输入另一位用户的电子邮件,并在firebase中搜索该帐户

它的代码是什么

还有如何将firebase用户连接起来用于聊天目的

1 个答案:

答案 0 :(得分:0)

非常简单,当您将用户数据添加到firebase中时,请在他们自己的电子邮件ID下添加它们。喜欢:

创建一个模型类" User"与您需要的字段。

mDatabase = FirebaseDatabase.getInstance().getReference("Users");
User user= new User("UserName", "User@email.com");
mDatabase.child("User@email.com").setValue(user);

所以在firebase中,它看起来像这样

Users
 MyUser@email.com
    Email:  "User@email.com" 
    Fullname:  "UserName"

现在,如果其他用户必须通过提供电子邮件ID来搜索用户,只需

DatabaseReference ref= mDatabase.child("User@email.com");

 ref.addListenerForSingleValueEvent(new ValueEventListener() {
 @Override
 public void onDataChange(DataSnapshot dataSnapshot) {
    User user= dataSnapshot.getValue(User.class);
    // and user.getName() for getting the name
 }

 @Override
 public void onCancelled(DatabaseError databaseError) {

 }
 });

通过这种方式,您可以非常轻松地搜索具有电子邮件ID的用户。

现在,要连接用户进行聊天,您必须创建一个他们都可以访问的公共子项,例如使用键" user1email-user2email"创建一个子项。然后在两个用户中监听该孩子的子事件,并且该孩子的所有信息将相互共享。