как получить данные в LiveDataиз DataSnapshot - PullRequest
1 голос
/ 27 сентября 2019

Я пытаюсь загрузить данные из Firebase DataSnapshot, но я не получаю никаких данных при попытке это:

override fun onActive() {
    super.onActive()

    FirebaseDatabase.getInstance()
        .getReference("/users")
        .addListenerForSingleValueEvent(object : ValueEventListener {

            override fun onCancelled(databaseError: DatabaseError) {
                Log.d("UserRepository","databaseError ${databaseError.message}")
            }

            override fun onDataChange(dataSnapshot: DataSnapshot) {
                if (dataSnapshot.exists()) {
                    value = dataSnapshot.children
                }
            }

        })
}

Но с кодом выше я не получаю никаких данных в dataSnapshot

1 Ответ

0 голосов
/ 27 сентября 2019

DataSnapshot имеет getChildren(), который содержит экземпляры моментальных снимков данных, все, что вам нужно сделать, это использовать цикл for, чтобы иметь возможность получить доступ ко всем DataSnapshot экземплярам для получения YourModelClass класса с помощью getValue().затем добавьте их в список моделей

for(DataSnapshot ds : dataSnapshot.getChildren()) {

    YourModelClass modelObject = ds.getValue(YourModelClass.class);
    Log.d("TAG", modelObject.getMsg());
    modelList.add(modelObject)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...