如果超时或无法访问服务器,Fire base不会调用onCancelled

时间:2014-08-18 07:47:29

标签: java android firebase

我使用firebase并发现并发出firebase没有发送超时错误或者如果无法连接到服务器。在这种情况下,我们无法向用户提供正确的信息。

Firebase开发人员必须处理这个非常常见的用例。有人遇到过这个问题吗?

.addListenerForSingleValueEvent(new ValueEventListener() {

            @Override
            public void onDataChange(DataSnapshot data) {
            }

            @Override
            public void onCancelled(FirebaseError arg0) {

            }

1 个答案:

答案 0 :(得分:6)

利用.info/connected监控连接状态。 Firebase在离线时工作,您的onCancelled事件不会被触发,因为它仍在等待恢复连接,因此可以传递消息。

Firebase是一个实时同步平台。没有任何互联网访问,您无法保持数据同步(如何协调本地和远程?)。所以你需要利用磁盘持久性(在iOS上测试版)或至少有一个初始连接来让事情发生变化。有关所有这些主题的详细信息,请查看offline capabilities