android - Firebase/Android - 经常失去数据库连接

标签 android firebase firebase-realtime-database

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

全新安装后一切正常:

用户可以注册或登录,数据按应有的方式检索,按应有的方式写入,超快,超干净。是的。

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

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

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

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

应用程序.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"
  }
}

最佳答案

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

关于android - Firebase/Android - 经常失去数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37575093/

相关文章:

ios - 在执行下一行代码之前等待两个异步完成函数完成

android - 来自支持库与设计库的抽屉导航

android - 无法加载类的模块适配器。请确保已为此模块运行代码生成

javascript - Firebase 注册用户 - 在 Node 中存储用户与在注册用户中存储用户

javascript - Firebase 的云功能 - 如何检查子项是否存在?

javascript - 更新电子邮件验证状态而不重新加载页面

Android 首选项微调器

android - 是否可以从 Android 应用程序向非 Android 移动设备发送短信?

java - 保持用户登录 Java Firebase

Android geofire 获取一定半径内的用户列表