現在、Androidスタジオ3(カナリア)のネイティブAndroidアプリをKotlinで作成しています。 Firebase Realtime DatabaseとFirebase Authも利用しています。Androidでファイアベースのリクエストが完了しない
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
文は到達しません。
これは私が関連しているいくつかのLogger出力です。すべての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クライアントを持っていますが、これはまだ動作しています。したがって、サーバー側の問題ではないと思います。
最悪のことですが、私は仕事に慣れていたにもかかわらず助けにならなかった点にプロジェクトをリセットしました。
私はこれがあまり情報ではないことを知っていますが、私はその問題をさらに分析する方法がわかりません。
Uhm ...このログ出力は、試してみると13番目です。私はそれが通常の握手/交渉の一部であるとは確信していません。クライアントは単にサーバーにアクセスできない可能性が高いようです。 –