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

Firebase Realtime Database不存数据无报错,已开读写权限仍无法写入用户信息?

Firebase Realtime Database写入回调成功但无数据的常见原因及解决方案
  • 实例区域不匹配
    如果你创建Realtime Database时选择的不是默认的us-central1区域(比如亚太、欧洲区域),直接调用FirebaseDatabase.getInstance()会默认指向美国区域的空实例,数据实际写入了非目标实例,自然在当前项目控制台看不到数据,且不会抛出错误。
    修复方案:将你的数据库完整URL传入getInstance方法,示例:
    FirebaseDatabase.getInstance("https://你的数据库ID.对应区域.firebasedatabase.app")
    
    数据库完整URL可以在Firebase控制台Realtime Database的首页直接复制。
  • User实体类不符合序列化要求
    Firebase Realtime Database序列化Java实体类有强制要求:
    1. 必须包含一个public的无参构造方法
    2. 要序列化的成员变量要么是public修饰,要么提供对应的public getter方法
      如果不符合上述要求,会出现写入空结构/数据丢失的情况,部分场景下回调仍会返回成功。
      修复方案:检查你的User类,补充无参构造、对应字段的getter方法即可。
  • 路径大小写敏感导致查找错误
    Realtime Database的路径是大小写敏感的,你的代码中写入的路径是Users(首字母大写),如果在控制台查找时误找小写的users路径,会出现找不到数据的情况。
    修复方案:核对控制台路径和代码中写入的路径大小写完全一致。
  • 项目配置不匹配
    你本地App集成用的google-services.json文件,和你当前查看的Firebase控制台项目不属于同一个项目时,数据会写入其他项目的数据库中,当前项目自然看不到数据。
    修复方案:重新下载当前项目的google-services.json替换到App工程中,重新打包测试。
  • 规则未正式发布
    如果你修改完数据库规则后没有点击控制台规则页面的「发布」按钮,规则不会生效,不过该场景下通常会返回权限错误,可作为排查项核对。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:24:03