Есть ли способы получить данные из ref в виде списка в Java - PullRequest
1 голос
/ 08 июня 2019

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

всякий раз, когда я пытаюсь что-то сделать, приложениепросто автоматически закрываюсь, так что я знаю, что что-то пошло не так

1 Ответ

0 голосов
/ 09 июня 2019

Вы можете использовать функцию addValueEventListener () для получения данных в виде снимка. Делая это, вы можете перебрать данные снимка и добавить в список массивов. Ниже приведен пример, который я сделал, чтобы получить данные по ссылке

private void readUsers() {

    final List<User> mUsers= new ArrayList<>();
    final FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
    DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Users");

    reference.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                mUsers.clear();
                for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
                    User user = snapshot.getValue(User.class);

                    assert user != null;
                    assert firebaseUser != null;

                    if (!user.getId().equals(firebaseUser.getUid())) {
                        mUsers.add(user);
                    }
                }

                userAdaptor = new UserAdaptor(getContext(), mUsers, false);
                recyclerView.setAdapter(userAdaptor);

        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

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