Как один пользователь Firebase может искать другого пользователя FireBase, введя электронную почту в Android - PullRequest
0 голосов
/ 24 апреля 2018

Я хочу, чтобы один пользователь ввел адрес электронной почты другого пользователя и выполнил поиск этой учетной записи в базе данных Firebase.

Что это за код

А также как связать пользователей Firebase между собой для общения в чате.

1 Ответ

0 голосов
/ 25 апреля 2018

Это очень просто, когда вы добавляете данные пользователей в firebase, добавляйте их под своим собственным идентификатором электронной почты.например:

Создайте класс модели "Пользователь" с полями, которые вы заполнили.

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"

Теперь, если другие пользователи должны искать пользователей, указав идентификатор электронной почты, просто

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) {

 }
 });

Таким образом, вы можете легко искать пользователей по их идентификаторам электронной почты.

Теперь для подключения пользователей к чату необходимо создать общего дочернего элемента, к которому они оба могут получить доступ, например создать дочернего элемента с ключом."user1email-user2email".затем прослушайте дочерние события для этого дочернего элемента как в пользователях, так и все сообщения, которые поступают в этот дочерний элемент, будут передаваться друг другу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...