Приложение чата setValue на x не выполнено: Ошибка базы данных: - PullRequest
0 голосов
/ 31 августа 2018

У меня есть приложение чата, и каждый раз, когда я пытаюсь напечатать сообщение, я получаю сообщение об ошибке, например:

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);
    }

1 Ответ

0 голосов
/ 01 сентября 2018

вы получаете эту ошибку, потому что ваши правила не равны нулю. это означает, что никто не может читать и записывать данные из / в вашу базу данных fireabase до тех пор, пока он / она не получит экземпляр аутентификации. Читать об аутентификации здесь

Rule

Допустим, если вы не хотите, чтобы ваш пользователь проходил аутентификацию, измените эти правила на auth == null как для чтения, так и для записи

надеюсь, что это помогает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...