Firebase Realtime Database规则设为true仍无法写入数据问题求助
Firebase Realtime Database 写入无报错但数据未同步解决方案
- 首先确认数据库实例配置匹配
若你的项目创建时选择了非美国本土的服务节点,需检查google-services.json文件中是否包含正确的firebase_url字段,也可在代码中显式指定完整数据库地址初始化实例,避免写入到不存在的实例中导致静默失败。 - 验证数据库规则已生效
确认修改的是Realtime Database的规则而非Cloud Firestore规则,修改规则后必须点击控制台规则页的「发布」按钮,等待1分钟左右规则同步完成后再进行测试。 - 补全写入监听逻辑定位错误
你当前的Toast触发逻辑大概率是绑定在按钮点击事件上,而非写入成功回调,无法反映实际写入结果。请给写入操作添加完成/失败监听器,获取具体错误信息:
相关代码截图参考:FirebaseDatabase.getInstance().getReference("目标节点路径") .setValue(待写入数据) .addOnCompleteListener(task -> { if (task.isSuccessful()) { Toast.makeText(当前上下文, "写入成功", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(当前上下文, "写入失败:" + task.getException().getMessage(), Toast.LENGTH_LONG).show(); Log.e("Firebase错误", task.getException().toString()); } });
- 检查应用网络权限与网络环境
确认AndroidManifest.xml中已添加网络权限:
同时排查设备/模拟器的网络是否正常,是否存在代理、防火墙拦截Firebase服务请求的情况。<uses-permission android:name="android.permission.INTERNET" /> - 排查控制台无法手动创建节点问题
若控制台也无法手动新增节点,首先确认当前登录账号拥有项目的编辑权限,其次检查项目是否超出Realtime Database免费配额上限,同时可临时关闭App Check校验后重试,未集成App Check SDK的情况下启用校验会拦截所有写入请求。
内容的提问来源于stack exchange,提问作者Vrushali Chaudhari
相关产品推荐
相关产品推荐

