Когда я запрашиваю данные с помощью эмулятора 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()
Код: Выделить всё
┌─────────────────────────────────────────────────────────────┐
│ ✔ 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
Обновить
Я пытаюсь протестировать его с помощью простой тестовой записи: в путь /Test/doc_test я добавил строковое поле с именем test_field.Структура моей тестовой записи на локальном компьютере Эмулятор Firestore:

Я получаю его используя следующую команду:
Код: Выделить всё
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}")
Найдено следующее тестовое значение: null — DocumentSnapshot{key=Test/doc_test , метаданные=SnapshotMetadata{hasPendingWrites=false, isFromCache=false}, doc=null
Подробнее здесь: https://stackoverflow.com/questions/792 ... r-but-work