Firebase 数据库实例如何实时检索数据?

Baa*_*ali 2 android chat firebase firebase-realtime-database

我刚刚构建了我的第一个应用程序。这是一个群组消息应用程序,我使用了 Firebase 实时数据库。我按照教程构建了我的应用程序。

聊天工作完美且实时,即数据库中的任何更改都会在几秒钟内检索并反映在我的应用程序上。实际上,有点好奇,我不只是复制粘贴所有这些代码行,而是试图理解每个语句背后的含义。所以,我对我的疑问之一感到困惑:

这是如何实时工作的(聊天立即弹出)?我在这里阅读有关 Firebase 数据库的信息,他们提到ValueEventListener用于实时更新应用程序数据,但这里使用什么?

Arn*_*ugo 7

文档中中:

\n\n
\n

即时的: Firebase 实时数据库不使用典型的 HTTP 请求,而是使用数据同步\xe2\x80\x94每次数据更改时,任何连接的设备都会在几毫秒内收到该更新。

\n
\n\n

在网络方面,这是通过WebSockets实现的实现的,WebSockets 在服务器和客户端 Firebase 库中都使用。

\n\n

此外,“实时数据库 API 的设计目的是只允许可以快速执行的操作”。

\n\n

编辑: Firebase客户端库设置了一个WebSocket来与实时数据库通信,该WebSocket用于与实时数据库的所有通信,包括读取/订阅和更新/推送(除非您使用REST API )。

\n\n

编辑 2:本教程中,您使用了FirebaseListAdapter,它抽象了数据同步的完成方式。它的第四个参数是对实时 Firebase 数据库位置的引用,它将与之同步(使用 WebSocktes),并为您填充列表。它获取同步数据的每个条目并将其放入您作为第二个参数提供的模型类的新 Java 对象中,即 ChatMessage.class。

\n