Как получить все данные из базы данных firebase? - PullRequest
1 голос
/ 26 мая 2020

Во-первых, я просмотрел полезные сообщения, такие как этот .

Но решения у меня не работают. На стороне приложения или сервера ошибок нет (журналы не сообщают об ошибках). Но даже когда я меняю данные на стороне сервера, приложение не принимает их.

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

        DatabaseReference ref1= FirebaseDatabase.getInstance().getReference();
        ref1.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                usersList = new ArrayList<String>();
                for(DataSnapshot dsp : dataSnapshot.getChildren())
                {
                    usersList.add(String.valueOf(dsp.getValue()));
                    System.out.println(String.valueOf(dsp.getValue()));
                }
            }
            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {
                    System.out.println("database error");
            }
        });

Структура моей базы данных (я вычеркнул имя приложения и идентификатор пользователя): вот изображение

1 Ответ

1 голос
/ 26 мая 2020

Причина, по которой он не работает:

В вашей базе данных нет дочернего узла. Вы напрямую помещаете данные в базу данных.

Обычно есть родительский узел, а затем все дочерние (пользовательские) узлы, доступные в нем. Но, увидев структуру вашей базы данных, я не нахожу дочерний узел, который содержит список всех пользовательских узлов.

Если вы предоставите код вставки данных, это может помочь нам дать ответ и улучшить структуру вашей базы данных.

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