Получайте обновления изменений данных в реальном времени при изменении данных в базе данных Firebase Realtime - PullRequest
1 голос
/ 06 февраля 2020

Я написал этот код для извлечения данных. Но я хочу получать обновления, не перезапуская действия, так как данные в реальном времени изменяются в базе данных.

Я хочу отображать данные динамически:

FirebaseDB.batch.child(batch).addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            //Update recyclerview here
        }

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

        }
    });

Ответы [ 2 ]

1 голос
/ 06 февраля 2020

Вы используете неправильный слушатель. Согласно документации firebase этот слушатель будет запущен только один раз.

Вам необходимо использовать простой ValueEventListener, как указано в документах

1 голос
/ 06 февраля 2020

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

FirebaseDB.batch.child(batch).addValueValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            //Update recyclerview here
        }

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

        }
    });

Смотрите, я использовал Query's addValueEventListener () :

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

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