Как получить данные с нескольких узлов в Firebase? Android - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь получить вопросы из узла вопросов от каждого пользователя, как показано на диаграмме ниже. Я не могу понять, как добраться до узлов. Как мне получить данные из каждого из узлов вопросов отдельных пользователей? кто-нибудь, пожалуйста, помогите. enter image description here

1 Ответ

1 голос
/ 16 июня 2020

Чтобы получить доступ к вопросам всех пользователей, вы должны сделать что-то вроде этого:

DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("users");
ref.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for (DataSnapshot userSnapshot: dataSnapshot.getChildren()) {
            DataSnapshot questionsSnapshot = userSnapshot.child("questions");
            Log.i(TAG, "User "+userSnapshot.getKey()+" has "+questionsSnapshot.numChildren()+" questions");
        }
    }

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

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

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