Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase请求在Android上永远无法完成_Android_Firebase_Firebase Realtime Database_Kotlin - Fatal编程技术网

Firebase请求在Android上永远无法完成

Firebase请求在Android上永远无法完成,android,firebase,firebase-realtime-database,kotlin,Android,Firebase,Firebase Realtime Database,Kotlin,我目前正在用android Studio 3(金丝雀)在Kotlin构建一个本地android应用程序。我还利用了Firebase实时数据库和Firebase Auth。以下是我的毕业证书: dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {

我目前正在用android Studio 3(金丝雀)在Kotlin构建一个本地android应用程序。我还利用了Firebase实时数据库和Firebase Auth。以下是我的毕业证书:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })

    compile 'com.android.support:appcompat-v7:25.3.1'
    compile 'com.android.support:design:25.3.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.google.firebase:firebase-database:11.0.4'
    compile 'com.google.firebase:firebase-auth:11.0.4'
    compile 'com.dlazaro66.qrcodereaderview:qrcodereaderview:2.0.2'
    compile 'com.android.support:support-v4:25.3.1'
    compile 'com.android.support:recyclerview-v7:25.3.1'
    compile 'com.firebaseui:firebase-ui-database:2.0.1'
    testCompile 'junit:junit:4.12'
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
}
一切正常,直到与Firebase数据库的通信停止。我没有收到任何错误,但我注册的所有侦听器都不再被触发。例如:

val ref = FirebaseDatabase.getInstance().reference.child("message")
    ref.setValue("Test", object: DatabaseReference.CompletionListener {
        override fun onComplete(p0: DatabaseError?, p1: DatabaseReference?) {
           println("IT WORKED!")
        }
    })
永远不会到达
println
语句

这是一些记录器输出,我相信是相关的。在我看来,所有WebSocket连接尝试都超时,因此会重试。此输出会一次又一次地重复:

08-05 15:11:25.899 10820-10909/... D/Connection: conn_12 - Opening a connection
08-05 15:11:55.899 10820-10909/... D/WebSocket: ws_12 - timed out on connect
08-05 15:11:55.899 10820-10909/... D/WebSocket: ws_12 - closed
08-05 15:11:55.899 10820-10909/... D/WebSocket: ws_12 - closing itself
08-05 15:11:55.899 10820-10909/... D/Connection: conn_12 - Realtime connection failed
08-05 15:11:55.899 10820-10909/... D/Connection: conn_12 - closing realtime connection
08-05 15:11:55.899 10820-10909/... D/PersistentConnection: pc_0 - Got on disconnect due to OTHER
08-05 15:11:55.899 10820-10909/... D/PersistentConnection: pc_0 - Scheduling connection attempt
08-05 15:11:55.899 10820-10909/... D/ConnectionRetryHelper: Scheduling retry in 9844ms
08-05 15:12:05.739 10820-10909/... D/PersistentConnection: pc_0 - Trying to fetch auth token
08-05 15:12:05.739 10820-10909/... D/PersistentConnection: pc_0 - Successfully fetched token, opening
connection
08-05 15:12:05.739 10820-10909/... D/Connection: conn_13 - Opening a connection
但如果我是对的,是什么导致了这个问题?我在谷歌上没有发现任何类似的问题

我在物理设备和模拟器上运行了代码。我有一个web客户端连接到同一个数据库,但它仍在工作,所以我想这不是服务器端的问题

最糟糕的是,我重新设置了我的项目,使其能够正常工作,但这并没有帮助


我知道这不是很多信息,但我不知道如何进一步分析问题。

这是一个已知的问题。Firebase客户端尝试使用多种方法与Firebase服务器建立实时连接。如果其中一个方法在Websocket之前成功,我们将取消Websocket,您将看到该警告。您可以放心地忽略错误。

Uhm。。。此日志输出表明可以尝试13次。我不相信这是正常握手/谈判的一部分。更可能的情况是,客户端无法访问服务器。