You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么无法从Firebase Realtime Database读取及写入数据?

Firebase Realtime Database 读写异常排查方案

1. 修复项目级build.gradle依赖冲突

你现在的项目级build.gradle里重复声明了多个版本的com.google.gms:google-services、com.android.tools.build:gradle依赖,版本混乱是导致本次异常的核心诱因,直接替换dependencies块内容为以下,删除重复声明的低版本/测试版依赖:

dependencies {
    classpath 'com.android.tools.build:gradle:4.0.1'
    classpath 'com.google.gms:google-services:4.3.10'
    classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
    classpath 'com.google.firebase:perf-plugin:1.3.1'
}

修改完成后同步Gradle,清理项目缓存后重新编译即可。

2. 检查实时数据库权限规则

进入Firebase控制台对应项目的实时数据库页面,打开「规则」标签页检查权限配置,确认当前读写权限没有被限制,测试阶段可以临时配置为以下规则验证功能是否恢复:

{
  "rules": {
    ".read": true,
    ".write": true
  }
}

生产环境需要替换为符合业务安全要求的权限规则,禁止直接使用公开读写规则上线。

3. 验证本地Firebase配置正确性

  • 检查app模块下是否放置了正确的google-services.json文件,确认文件内的数据库地址、项目ID和Firebase控制台的配置完全一致
  • 检查应用是否完成Firebase初始化,确认Application类或者主Activity的onCreate方法中没有遗漏初始化逻辑
  • 如当前设备使用了网络代理或者VPN,先关闭代理再测试,网络代理会导致Firebase连接异常

4. 代码优化点

当前代码中字符串比较用了==,Android中字符串内容比较需要用equals()方法,修改对应逻辑即可避免匹配失效问题:

// 原错误逻辑
if (appTitle == "tt")
// 修改为
if ("tt".equals(appTitle))

内容的提问来源于stack exchange,提问作者user14346592

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 08:27:03