Невозможно получить данные из Firebase (база данных Cloud Firestore) - PullRequest
0 голосов
/ 15 июня 2019

У меня есть некоторые данные в моей базе данных Cloud Firestore.Коллекцию зовут автобусы, и у меня есть 2 документа (bus_id_1 и bus_id_2).Я добавил кнопку, чтобы при ее нажатии я получал данные из базы данных в TextView.

TextView busesText;

private Button btnViewData;
FirebaseFirestore db = FirebaseFirestore.getInstance();
private DocumentReference mDocRef = db.getInstance().document("buses/bus_id_1");

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    FirebaseApp.initializeApp(this);
    setContentView(R.layout.activity_main);
    busesText = (TextView)findViewById(R.id.showData);
   }

public void getData(View view){

    mDocRef.get().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
        @Override
        public void onSuccess(DocumentSnapshot documentSnapshot) {
            if (documentSnapshot.exists()) {
                Bus bus = documentSnapshot.toObject(Bus.class);
                busesText.setText(bus.getLine());
            }
        }
    });
}

Когда я нажимал кнопку, в консоли я получал следующее:

W / RenderThread: type = 1400 аудит (0.0: 733273): avc: запрещено {read} для name = "perf_ioctl" dev = "proc" ino = 4026533695 scontext = u: r: untrusted_app: s0: c512,c768 tcontext = u: object_r: proc: s0 tclass = файл разрешен = 0 V / FA: бездействие, отключение от службы

В чем может быть причина?

1 Ответ

0 голосов
/ 15 июня 2019

Похоже, ваша база данных не разрешает операции чтения, поэтому вам нужно изменить правила вашей базы данных Firestore. Это должно выглядеть так: -

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write;
    }
  }
}

Примечание: - разрешить запись, только если вы хотите обновить базу данных из приложения.

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