У меня есть приложение чата, и каждый раз, когда я пытаюсь напечатать сообщение, я получаю сообщение об ошибке, например:
W / RepoOperation: setValue в / -LLExyceqnVtrlDcS_a завершилась ошибкой: 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);
}