Локальный эмулируемый Firestore возвращает пустой DataSnapshot в эмулятор Android, но работает с Cloud FirestoreAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Локальный эмулируемый Firestore возвращает пустой DataSnapshot в эмулятор Android, но работает с Cloud Firestore

Сообщение Anonymous »

Я пытаюсь протестировать свое приложение для Android, которое использует данные из Firebase Firestore. Однако у меня возникла проблема при запросе данных с помощью моего локального эмулятора Firebase Firestore и эмулятора Android.
Когда я запрашиваю данные с помощью эмулятора Android из Cloud Firestore, все работает нормально. Когда я запрашиваю данные из Emulator Firestore, я получаю пустой DataSnapshot.
Оба экземпляра Firestore (локальный эмулятор и облачный Firestore) содержат одни и те же данные.
Когда я ввожу 10.0.2.2.:4001 в браузере моего эмулятора Android, я перехожу в набор эмуляторов Firebase и вижу, что статус эмулятора Firestore включен. По моему мнению, это означает, что существует соединение с моим локально работающим эмулятором Firestore.
Мой код для запуска экземпляра Firestore:
private val db = Firebase.firestore
db.useEmulator("10.0.2.2", 8080)
db.firestoreSettings = firestoreSettings { isPersistenceEnabled = false }
val docVal = db.collection("district_codes")
.document("district_codes")
.get()
.await()

Журналы моего работающего локального эмулятора Firestore:
┌─────────────────────────────────────────────────────────────┐
│ ✔ All emulators ready! It is now safe to connect your app. │
│ i View Emulator UI at http://127.0.0.1:4001/
└─────────────────────────────────────────────────────────────┘

┌───────────┬────────────────┬─────────────────────────────────┐
│ Emulator │ Host:Port │ View in Emulator UI │
├───────────┼────────────────┼─────────────────────────────────┤
│ Firestore │ 127.0.0.1:8080 │ http://127.0.0.1:4001/firestore
└───────────┴────────────────┴─────────────────────────────────┘
Emulator Hub running at 127.0.0.1:4401
Other reserved ports: 4501, 9150

Почему я не могу получить данные из локально работающего экземпляра Firebase Firestore, хотя извлечение данных из экземпляра Cloud Firestore работает правильно?
Обновить
Я пытаюсь протестировать его с помощью простой тестовой записи: в путь /Test/doc_test я добавил строковое поле с именем test_field.
Я получите его с помощью следующей команды:
val docVal = db.collection("Test").document("doc_test").get().await()
val foundValue = docVal.get("test_field") as String?
Log.i(TAG_FIRESTORE, "Found following test value: ${foundValue} - ${docVal}")

И получите следующую запись в журнале:
Found following test value: null - DocumentSnapshot{key=Test/doc_test, metadata=SnapshotMetadata{hasPendingWrites=false, isFromCache=false}, doc=null}


Подробнее здесь: https://stackoverflow.com/questions/792 ... r-but-work
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»