android - Firebase 数据库权限被拒绝,读/写权限设置为 true

标签 android firebase firebase-realtime-database

我在简单的 Android 应用中写入 Firebase 数据库时遇到问题。我已将我的数据库规则设置为公开:

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

创建了一个简单的类Message:

import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;

public class Message {
    FirebaseDatabase database = FirebaseDatabase.getInstance();
    DatabaseReference dbRef = database.getReference();
    public String sender;
    public String message;

    public Message(){}

    public Message(String sender, String message) {
        this.sender = sender;
        this.message = message;
    }
}

并设置一个按钮来执行 onClick 方法 writeNewMessage ,这些是重要的代码行:

int counter = 0;

public void writeNewMessage(View view) {

        counter += 1;
        Message messageToWrite = new Message("John", "Simple message: " + counter);
        String messageId = String.valueOf(counter);

        dbRef.child("users").child(messageId).setValue(messageToWrite);
    }

运行时,我收到错误:

W/RepoOperation: setValue at /users/1 failed: DatabaseError: Permission denied

我知道这个问题看起来很简单,而且很可能已经被重复了,但是我还没有找到任何提出这个问题的人,而他们的错误不涉及身份验证或其他一些组件。问题的简单性是最让我困惑的地方。

编辑:我也发现了这个错误:

Failed to load module descriptor class: Didn't find class "com.google.android.gms.dynamite.descriptors.com.google.firebase.auth.ModuleDescriptor"

最佳答案

我一直在更改 Firestore 规则而不是 DB...希望它对像我这样愚蠢的人有所帮助。

enter image description here

关于android - Firebase 数据库权限被拒绝,读/写权限设置为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37424544/

相关文章:

java - Firebase回调接口(interface)需要声明为final吗?

java - Android 在退出应用程序时保存复选框状态

android - PhoneGap 和 Android 中的 LoadUrl

angularjs-scope - AngularFire 有时不会更新 Firebase

angular - 如何在 ionic 选择上获得多个值

android - 如何在 Firebase 中注册用户名?

firebase - 一个查询中按两个字段排序的 Firestore

android - 在 Android 的 EditText 上捕捉 "OK"按钮与按下 "round-arrow"

java - 如何将 int 转换为在 textView 内设置

javascript - react 路由器使用参数返回空对象