Я использую Cloud Firestore в своем приложении для Android.Это приложение для викторины, где я случайно получаю документы из Firestore.Когда интернет-соединение хорошее, приложение работает нормально.Когда сеть отключается, а затем снова подключается, я не могу прочитать документы.Когда я отлаживаю, я обнаруживаю, что мой метод get () вообще не выполняется.
Iterator iterator = randomIds.iterator();
while (iterator.hasNext()) {
String documentId = (String) iterator.next();
DocumentReference documentReference = db.collection(categoryName).document(documentId);
if (documentReference!=null) {
documentReference.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
System.out.println("Task successful");
DocumentSnapshot document = task.getResult();
questionDetailsObj = new QuestionDetails();
questionDetailsObj = document.toObject(QuestionDetails.class);
if (questionDetailsObj != null) {
System.out.println("Question details: " + questionDetailsObj.getQuestion_text());
// Adding the questions to a list
questionsList.add(questionDetailsObj);
}
} else {
Log.d("MainActivity", "get() failed with " + task.getException());
}
}
});
}
}
Я хочу получить 10 документов.Иногда немногие документы извлекаются успешно, а для других я получаю исключение
get() failed with com.google.firebase.firestore.FirebaseFirestoreException:
Failed to get document because the client is offline.
Я не понимаю, почему некоторые документы приходят успешно, а некоторые не удается получить.Пожалуйста, помогите мне понять, требуются ли какие-либо изменения кода.