相关疑难解决方法(0)

Android Firebase - "onDataChange"和"onCancelled"在没有Internet连接的情况下无法调用

在我的应用程序中,我只是尝试Firebase通过ListenerForSingleValueEvent在以下代码中添加一个来从我的数据库中检索读取段落:

myRef.child("passages").child(passageNum).addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                System.out.println("ON DATA CHANGE");
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {
                System.out.println("DATABASE ERROR");
                FirebaseErrorHandler.handleDatabaseError(databaseError.getCode(), ReadingActivity.this);
            }

        });
Run Code Online (Sandbox Code Playgroud)

当有互联网连接时,它工作得很好.但是,当我故意关闭互联网连接时,既没有onDataChange也没有onCancelled被呼叫.这非常令人沮丧,因为其中两个错误代码databaseError.getCode()与网络连接问题有关.

如果我不能在此获得的数据由于没有互联网,我想至少让用户知道,而不是有这个监听器挂在屏幕不断加载.有办法解决这个问题吗?我是否只需要使用Firebase'sREST API?至少对于RESTful网络请求,它们会通知您连接是否失败.

android firebase firebase-realtime-database

11
推荐指数
1
解决办法
5163
查看次数