Tax*_*Noi 11 android firebase firebase-realtime-database
我想知道在Android上,当你向数据库添加一个监听器时,底层的实际机制是如何工作的.是否更频繁拉动或其他特殊的东西?
更新: 为了更清楚,我理解听众是什么,但我的意思是"监听"方案如何工作,客户端(Android)如何知道服务器上的数据发生了变化.这只是一个期刊拉动吗?(而Firebase的工程师已经做了很多工作来覆盖它并让我们更轻松).
看起来firebase不是开源的.
// Attach an listener to read the data at our posts reference
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
System.out.println(snapshot.getValue());
}
@Override
public void onCancelled(FirebaseError firebaseError) {
System.out.println("The read failed: " + firebaseError.getMessage());
}
});
Run Code Online (Sandbox Code Playgroud)
Fra*_*len 24
免责声明:这是对编写本文时工作原理的简要描述.当你阅读它时,事情可能已经改变了.
当您的应用连接到Firebase数据库时,它会打开从设备到Firebase服务器的Web套接字连接.此连接在您的应用的生命周期内或在您致电之前保持打开状态goOffline().
附加侦听器时,客户端将位置(和潜在的查询参数)发送到服务器.服务器将该侦听器添加到所有连接客户端的所有侦听器的列表中.然后它还会发回该侦听器的初始数据.
每当写入操作提交到数据库时,服务器都会扫描侦听器.对于每个相关的侦听器,服务器通过打开的Web套接字向客户端发送更新.
| 归档时间: |
|
| 查看次数: |
5513 次 |
| 最近记录: |