RxJava2 + Завершить черный экран при запросе данных

Я столкнулся с проблемой с приложением android, пытаясь получить некоторые данные Api, используя RxJava2 и Retrofit2 (в Котлине). После выполнения вызова экран становится черным, и приложение просто больше не отвечает, без сообщений журнала.

URL-адрес вызова, который я использую, следующий:

api/apartments?projection={"id":1,"address":1} 

Интерфейс службы для этого вызова:

  @GET("api/apartments?projection={\"id\":1,\"address\":1}") fun getAllApartments(@Header(AUTHORIZATION) auth: String): Single<List<APTLIST>> 

Так я выполняю вызов:

  override fun getAllApartments(): Single<List<APTLIST>> = retrofit.create(ApartmentsService::class.java).getAllApartments("$BEARER$token") 

И так я называю функцию:

 getAllApartmentsUseCase.getAllApartments() .subscribe( { apartments.clear() apartments.addAll(it) view.showApartments(apartments) }, { println(it.message) } ) 

Этот вызов работает на Postman, и результат следующий:

 [ { "_id": "591ecaca861a528a5b4c3d90", "id": "ROC 03" }, { "_id": "591a0fb2861a528a5b4c3d60" }, { "_id": "58be94d484c4b0a468fb93e0", "id": "CAN 2.3", "address": "Els Refugis" } ] 

Я думаю, вы делаете веб-звонок в основном потоке. Странно, что вы просто получаете что-то вроде ANR, а не android.os.NetworkOnMainThreadException.

 getAllApartmentsUseCase .getAllApartments() .subscribeOn(Schedulers.io()) //scheduler in which observable will execute .observeOn(AndroidSchedulers.mainThread()) //scheduler in which subscriber's methods will be called .subscribe(/*subscriber*/) 

https://medium.com/upday-devs/rxjava-subscribeon-vs-observeon-9af518ded53a

Intereting Posts
Наследовать от абстрактного класса с умножением варов в Котлине Подписка на несколько видов на A views onclick и изменение видимости RxAndroid Поделитесь модулем Kotlin с проектом Android и Desktop Vert.x chunked отвечает данными из базы данных с использованием BLOB и спящего режима Kotlin .let {} null безопасность предположительно ложная ошибка Kotlin: Что такое файл kjsm? Расширенное назначение и приращение не поддерживаются для локальных делегированных свойств и встроенных свойств Возврат из forEachLine Доступ к статической функции расширения из другого класса в Котлине? Как получить KType в Котлине? kotlin springboot application – почему нет функции с выражением тела? В Kotlin, как вы можете ограничить выбор в свободно Builder для разных видов настроек Что такое правильное место для инициализации переменных класса в котлине Kotlin: доступ к параметру when-statement Kotlin + Dagger2 @Named аннотация в использовании метода модуля