Как найти значение Child в Firebase - PullRequest
0 голосов
/ 01 декабря 2019

Я работаю над приложением для Android, в котором я создал страницу входа. Где пользователь будет вводить свое имя пользователя и пароль. Теперь, как я могу найти, если имя пользователя с тем же паролем присутствует в моей базе данных Firebase.

Вот моя структура базы данных Firebase:

enter image description here

В Интернете есть несколько методов, но они не работают для меня, потому что эти методы требуют точного дочернего имени в качестве ввода перед поиском. Но в моем случае я случайно сгенерировал ключи в разделе «Администратор» и «Сотрудники». Как я могу искать имя и пароль, используя поля ввода имени пользователя и пароля. Спасибо!

1 Ответ

0 голосов
/ 01 декабря 2019

Невозможно выполнить запрос по ZXMU5741/ADMIN и ZXMU5741/Employees одновременно. Вам нужно будет выполнить два запроса: один на ZXMU5741/ADMIN и один на ZXMU5741/Employees. Каждый из них может использовать один и тот же базовый подход:

DatabaseReference ref = FirebaseDatabase.getInstance().getReference("ZXMU5741/ADMIN");
Query query = ref.orderByChild("name").equalTo("haseeb");
query.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for (DataSnapshot userSnapshot: dataSnapshot.getChildren()) {
            long password = userSnapshot.child("password").getValue(Long.class);
            if (password == 41231) {
                ...
            }
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        throw databaseError.toException();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...