安卓Firebase:设置值无效

3
我正在尝试通过以下代码向Firebase数据库添加测试值:
 FirebaseDatabase database = FirebaseDatabase.getInstance();
 DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
 DatabaseReference usersRef = ref.child("shop").child("Users");
                   
 usersRef.child(user.getUid()).setValue("test");

数据库看起来像这样:

enter image description here

但不幸的是,它不能正常工作。我错在哪里了?谢谢。


检查您的用户UID。 - Nouman Ch
你验证了用户吗? - Peter Haddad
调试 user.getUid() 的值。如果它是正确的,那么添加一个完成监听器来检查错误。 - ADM
@Mohammad 节点已存在 :( - Đặng Tâm
3
如果您尚未对用户进行身份验证,可能需要将数据库规则更改为true。 - Mohammad
显示剩余5条评论
2个回答

2

前往 firebase.google.com 的 Firebase 控制台。然后单击规则,设置如下规则,您可以轻松完成此操作。

".read": "auth!=null",
".write": "auth!=null"

然后点击发布,再试一次,它肯定会成功。

确保你的代码在Android Studio中也是正确的。


1
我遇到过同样的问题,后来找到了答案,希望对其他人有所帮助……
  1. 创建实时数据库后,在 Firebase 仪表板中进入“项目设置” -> “项目概述” -> “齿轮图标” -> “项目设置”,然后向下滚动并检查 google-services.json 文件,再次下载并替换 Android Studio 中相同位置的文件 -> 选择项目视图 -> 在 app 文件夹中(你知道该怎么做).... 然后清理并重新构建应用程序...... 经过数小时的尝试,这对我起作用了。

  2. 简而言之,只需重新下载和替换 google-services.json 文件,然后清理并重新构建项目即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接