java - 当 Firebase 实时数据库上的数据发生变化时,获取实时数据变化更新

原文 标签 java android firebase firebase-realtime-database

我已经编写了这段代码来获取数据。但是我想在不重新启动 Activity 的情况下获取更新,因为数据库中的数据会实时更改。

我想动态显示数据:

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

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

        }
    });

最佳答案

如果您需要实时获取数据,则应使用实时监听器。要解决此问题,请将您的代码更改为:

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 的 addValueEventListener() :

Add a listener for changes in the data at this location.



而不是 addListenerForSingleValueEvent()哪一个:

Add a listener for a single change in the data at this location.

关于java - 当 Firebase 实时数据库上的数据发生变化时,获取实时数据变化更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60097695/

相关文章:

java - 结果列表时,JPA @OneToMany无法正常工作

java - 如何在 .yml 文件中使用属性占位符

Android:从 Intent 接收 UsbDevice

android - 如何使用 Espresso 空闲资源进行网络调用

swift - Firebase创建模型,该模型具有快速可选的值

java:我想从内部类返回快照键但得到空变量

java - 两个执行阶段相同的 Maven 插件

android - 如何在Android中使用 picasso 库缓存下载的位图

firebase - 如何在RxJava 2自定义运算符的onSubscribe上获取RetroFit请求的URL和方法?

java - ScheduledExecutorService 和取消行为