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 error) {
            Log.d("TAG", error.getMessage()); //Never ignore potential errors!
        }
    });

看,我已经使用了 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 - 如何在 Spring Boot 上部署时读取静态文件

Java 屏幕截图 - JFrame 绘制旧组件一秒钟并消失,即使所有组件都已删除并重新绘制

java - RxJava observeOn Android/HarmonyOS 主线程

android - Firebase Android 前台/后台问题

firebase - FLUTTER Firestore在合并用于更新字段时创建新文档

java - infinispan 缓存可以在使用 hibernate 的同一 Spring Boot 应用程序的多个实例之间共享吗?

java - 如何以编程方式根据架构验证 JSON 字符串?

android - HashMap<String, String> 和其他到 SQLiteDataBase

android - 如何在屏幕上动态移动 Textview? (框架布局)

javascript - 如何从 React/Firebase 中的 Promise 中获取数据?