android - x 处的聊天应用 setValue 失败:DatabaseError:
问题描述
我有一个聊天应用程序,每次尝试输入消息时都会收到如下错误:
W/RepoOperation: setValue at /-LLExyceqnVtrlDcS_a failed: DatabaseError: Permission denied
我看到这是一个 Firebase 数据库配置错误,所以我进入并将其设置为测试设置:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write;
}
}
}
但是错误不断发生。所有其他解决方案似乎都有过时的代码。
这是触发它的方法:
private void displayChat() {
ListView listOfMessage = findViewById(R.id.list_of_message);
Query query = FirebaseDatabase.getInstance().getReference();
FirebaseListOptions<Chat> options = new FirebaseListOptions.Builder<Chat>()
.setLayout(R.layout.list_item)
.setQuery(query, Chat.class)
.build();
adapter = new FirebaseListAdapter<Chat>(options) {
@Override
protected void populateView(View v, Chat model, int position) {
//Get reference to the views of list_item.xml
TextView messageText, messageUser, messageTime;
messageText = v.findViewById(R.id.message_text);
messageUser = v.findViewById(R.id.message_user);
messageTime = v.findViewById(R.id.message_time);
messageText.setText(model.getMessageText());
messageUser.setText(model.getMessageUser());
messageTime.setText(DateFormat.format("dd-MM-yyyy (HH:mm:ss)", model.getMessageTime()));
}
};
listOfMessage.setAdapter(adapter);
}
解决方案
您收到此错误是因为您的规则不等于 null。这意味着除非他/她获得身份验证实例,否则没有人可以从/向您的 fireabase 数据库读取和写入数据。在此处阅读有关身份验证的信息
假设您不希望对用户进行身份验证,然后将这些规则更新auth == null
为读写规则
希望这会有所帮助
推荐阅读
- c++ - 为什么 c++ 编译器不会警告返回对局部变量的引用?
- javascript - 从 IMG TAG 到 FILE INPUT
- vue.js - 无限滚动和 v-for 的性能问题
- pycharm - 使用自定义元类指定类的类型
- javascript - 如何在 Ember 应用程序中处理来自服务器的 503 响应?
- python-3.x - Python 代码既不能正常运行,也不能在 VS Code 中显示错误
- python - Load_workbook 不起作用,没有这样的文件或目录
- javascript - 使用反应为每个对象创建一个模态弹出窗口
- javascript - 关于逻辑运算符优先级的问题
- excel - 即使将公式拆分为多个部分以绕过 250 个字符的限制,使用 VBA 插入长数组公式也不起作用