x处的聊天应用setValue失败:DatabaseError:

时间:2018-08-31 17:01:25

标签: android firebase

我有一个聊天应用程序,每次尝试键入消息时,都会出现如下错误:

  

W / RepoOperation:/ -LLExyceqnVtrlDcS_a处的setValue失败:DatabaseError:权限被拒绝

我看到这是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);
    }

1 个答案:

答案 0 :(得分:0)

您收到此错误,因为您的规则不等于null。这意味着除非获得身份验证实例,否则除非他/她获得身份验证实例,否则任何人都无法从您的fireabase数据库中读写数据。Read about Auth Here

Rule

让我们说,如果您不希望对用户进行身份验证,则可以将这些规则更新为auth == null,以进行读写操作

希望这对您有帮助