【问题标题】:Firebase/Android - Regularly losing database connectionFirebase/Android - 经常失去数据库连接
【发布时间】:2016-10-01 04:49:42
【问题描述】:

我遵循了 Firebase 身份验证和数据库的文档。

全新安装后一切正常:

用户可以注册或登录,数据按原样检索,按原样写入,超快,超干净。耶。

然后,通过 android Studio 重新启动几次后,数据库内容不再工作。重新启动的数量各不相同,我找不到规则等。如果我卸载并重新安装 apk(仍然通过 Android Studio),它会再次运行。

我正在监控身份验证状态,用户保持登录状态,也完全没有 firebase 错误。

我收到了大量的E/DynamiteModule: Failed to load module descriptor class:,但显然这不是一个错误(只是提到它是因为我收到了 20 多行该“错误”的连续行。

知道我应该从哪里开始寻找吗?

app.gradle

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig {
        ...
        minSdkVersion 15
        targetSdkVersion 23
        ...
    }
    ...
}
...
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support:design:23.4.0'
    compile 'com.google.firebase:firebase-core:9.0.1'
    compile 'com.google.firebase:firebase-database:9.0.1'
    compile 'com.google.firebase:firebase-storage:9.0.1'
    compile 'com.google.firebase:firebase-auth:9.0.1'
    compile 'com.google.firebase:firebase-messaging:9.0.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha1'
    compile 'cn.pedant.sweetalert:library:1.3'
    testCompile 'junit:junit:4.12'
}

Firebase 数据库规则

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}

【问题讨论】:

  • 你的 setValue() 调用中是否有CompletionListeners,并且在失败状态下它们永远不会触发?您是否有报告连接丢失的“.info/connected”listener
  • @qbix 谢谢!我会调查一下,然后再回复你!
  • @qbix 又发生了,监听器显示.info/connected位被设置为false。不过没有错误。
  • Firebase 调试日志非常详细,可能会为连接问题提供一些解释。使用FirebaseDatabase.getInstance().setLogLevel(Logger.Level.DEBUG) 启用调试级别日志记录,并在您失去连接时检查 logcat 输出。如果您需要帮助审核,请发布感兴趣的部分。

标签: android firebase firebase-realtime-database


【解决方案1】:

听起来您可能遇到了由身份验证令牌刷新失败discussed here 引起的已知问题。尝试使用FirebaseDatabase.getInstance().setLogLevel(Logger.Level.DEBUG) 启用调试级别日志记录,并将输出与上面链接讨论中包含的示例进行比较。特别是,查找“获取令牌时出错:发生内部错误。[内部错误。]”。如果您看到,请按照 instructions provided here 修复您的 google-services.json 文件。

【讨论】:

  • 快速更新:我不得不换手机,因为我摔坏了,可以说是毁了,我的一加手机。所以我从 android 6.0 切换到 4.3 之后就没有问题了。
  • 它又发生了,你的建议似乎奏效了!我非常感谢您的帮助!如果这可以永久解决问题,我会密切关注并回来接受并给你赏金:)
猜你喜欢
  • 2016-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-23
  • 2019-11-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多