Android检查firebase连接

Jea*_*ary 1 database android database-connection firebase

我正在为我的Android应用程序使用Firebase数据库。当我提交分数时,如果它起作用,则会显示一条消息(片段serverOK)。对于其他所有情况,我也想留言。如果databaseEror不为null,则存在一个,但是如果未连接到Firebase怎么办?

下面是我的代码:

ref.setValue(resultat, new DatabaseReference.CompletionListener() {
    @Override
    public void onComplete(DatabaseError databaseError, DatabaseReference dataRef) {
        if (databaseError == null) {
           FragmentManager fm3 = getFragmentManager();
           ServerOk serverok = new ServerOk();
           serverok.show(fm3, "serverok");
        } else {
           FragmentManager fm3 = getFragmentManager();
           Server server = new Server();
           server.show(fm3, "server");
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

谢谢你的回答

Fra*_*len 5

Firebase客户端不会将不存在连接视为错误,因此不会使用错误调用完成侦听器。

当您setValue()在Firebase客户端未连接到后端时进行调用时,客户端会将写入内容保留在队列中。恢复连接后,它将写入发送到服务器。

仅当服务器执行写入后,您的完成处理程序才会被调用。如果存在错误(即,如果安全规则拒绝了写入),则会将错误传递给回调。

如果您想在调用之前知道客户端是否已连接到服务器setValue(),则可以将侦听.info/connected附加到