Невозможно получить ключ друга по его электронной почте, используя базу данных FIrebase Realtime - PullRequest
0 голосов
/ 11 октября 2018

База данных, подобная этой

Users
  +oagnpangnangpadngn

  +psdpgpsdnpgndpsngpndap

  +pdgpjdpsgpdsjpgjpsdjpg

  --letssupposemyfriendkey     <----- I want this key

        --name Ahsan

        --email test@gmail.com

Теперь Как вы можете видеть, у каждого пользователя есть 2 дочерних элемента.

Я уже настроил кнопку, которая получает электронное письмо от макета, когда явведите его в Редактировать текст.Поэтому в основном я хочу использовать это электронное письмо, которое я ввел, чтобы получить ключ пользователя для этого электронного письма.

например, я ввел ----> test@gmail.com

Теперь, как мне искать пользователей по этомуадрес электронной почты, а затем получить ключ пользователя, у которого есть этот адрес электронной почты?

Я не использую функции Firestore или Cloud, поэтому, если возможно, не дайте мне ответов на этот вопрос. Я использую базу данных Firebase Realtime в Android Studio с использованием Java (Не котлин).

1 Ответ

0 голосов
/ 11 октября 2018

То, что вы пытаетесь сделать, требует использования запроса к базе данных.Например, вот как найти всех пользователей с заданным значением `` email`:

DatabaseReference usersRef = FirebaseDatabase.getInstance().getReference("Users");
Query friendQuery = usersRef.orderByChild("email").equalTo("test@gmail.com");
friendQuery.addListenerForSingleValueEvent(new ValueEventListener() {
  @Override
  public void onDataChange(DataSnapshot dataSnapshot) {
    for (DataSnapshot friendSnapshot: dataSnapshot.getChildren()) {
        System.out.println(friendSnapshot.getKey()); // letssupposemyfriendkey
        System.out.println(friendSnapshot.child("name").getValue(String.class)); // Ahsan
    }
  }

  @Override
  public void onCancelled(DatabaseError databaseError) {
    throw databaseError.toException();
  }
}

Я настоятельно рекомендую потратить некоторое время на документацию Firebase по сортировке и фильтрации , принимая кодовая метка Firebase для разработчиков Android и чтение предыдущих вопросов о запросах Firebase .

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