我在想,在安卓上,当你向数据库添加监听器时,底层实际机制是如何工作的?它只是更频繁地拉取数据或有其他特殊操作吗?
更新: 为了让问题更清晰,我知道什么是监听器,但我的意思是“监听”方案是如何工作的,客户端(安卓)如何知道服务器上的数据已更改。这只是定期拉取吗?(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());
}
});