Articles of rx java2

TestScheduler не работает (Kotlin + RxJava2 + mockito)

Я хотел написать единичный тест, который будет проверять метод callInit ниже. Тем не менее, у меня есть исключение нулевого указателя, в котором строка содержит subscribe( мой вопрос: как проверить условия onnext и onerror в методе, указанном ниже? override fun callInit() { val requestInit = RequestInit(os = "android", osVersion = deviceUtil.osVersion(), appVersion = deviceUtil.apiVersion()) compositeDisposable.add( interactor.getInit(requestInit) […]

Почему я не могу использовать интерфейс как общий тип в этом Rx-трансформаторе?

У меня есть следующие классы данных в Kotlin в качестве ссылки: interface GenericResponse { val error: Error? fun hasErrorObject(): Boolean = error != null } data class LoginResponse( val name: String, val auth: String, @SerializedName("error") override val error: Error? = null ) : GenericResponse LoginResponse реализует GenericResponse . Я использую Retrofit API следующим образом: @POST("******") […]

Применение преобразования к каждому элементу в Single <List <T >>

У меня есть val singleList: Single<List<EntityItem>> = … У меня также есть настраиваемый трансформатор для преобразования ItemEntity в Item (выполняющий либо transformer::fromEntity либо transformer.fromEntity(entity) ) Как использовать операторы RxJava для запуска этого преобразования на каждом EntityItem в singleList чтобы Single<List<EntityItem>> стал Single<List<Item>>

Метод обратного вызова часто называется переадресацией события на Observable?

Поэтому у меня есть этот слушатель на пользовательском слайдере. Представление вызывает onSliderChanged(int percent) когда пользователь сдвигает ползунок. Я пытаюсь сделать сетевой вызов, когда ползунок изменяется, но я не хочу делать миллионы сетевых вызовов, так как метод часто вызывается при сдвиге. Как я могу сделать этот обратный вызов слушателя в наблюдаемом? Я знаю, как только его […]

Исключение, вызванное: java.lang.ClassNotFoundException: org.reactivestreams.Publisher

В приложении JavaFX Gradle, которое я разрабатываю с использованием RxJava и Kotlin в IntelliJ IDEA 2017.1.2 (Build # IC-171.4249.39), я получаю исключение: Исключение в потоке «Тема приложения JavaFX» java.lang.NoClassDefFoundError: org / reactivestreams / Publisher каждый раз, как этот код return Completable.complete() выполняется. Следуя предложению аналогичного вопроса Почему я получаю NoClassDefFoundError: org / reactivestreams / Publisher […]

Изменить текучесть <Список <Obj1 >> в текущую <Список <Obj2 >> в комнате

Как я могу прочитать текучий список значений из комнаты и преобразовать его в другой объект, который представляет собой комбинацию большего количества значений из комнаты database.leadsDao().getLeads(leadState.name) .flatMap { val len = it.size.toLong() Flowable.fromIterable(it) .flatMap { Flowable.zip( database.orderDao().getById(it.orderId), database.orderMedicineDao().getByOrderId(it.orderId), database.patientDao().getById(it.patientId), Function3<Order, List<OrderMedicine>, Patient, LeadDetail> { order, orderMedicines, patient -> LeadDetail.from(it, patient, order, orderMedicines) }) } .take(len) .toList() […]

Как передать null в Observable с типом NULL в RxJava 2 и Kotlin

Я инициализирую свою переменную следующим образом: val user: BehaviorSubject<User?> user = BehaviorSubject.create() Но я не могу этого сделать. IDE выдает ошибку: – user.onNext(null) И, делая это, IDE говорит, что u никогда не будет null: user.filter( u -> u!=null)

Invoke RxJava2 отменяемый / одноразовый из правильной нити

Я реализую наблюдаемый, который пропускает строки из Resource . Проблема в том, что этот ресурс действительно не нравится закрываться из другого потока, на котором он был создан (он убивает щенка и выдает исключение, когда это происходит). Когда я размещаю подписку, ресурс Cancellable / Disposable вызывается из main потока, а наблюдаемый был подписан на Schedulers.io() . […]

Как задержать onError () в RxJava 2 и Android?

Я пытаюсь загрузить некоторые данные с веб-сервера в своем приложении. И из-за асинхронного характера операции невозможно заранее узнать, сколько времени потребуется для завершения. Чтобы предупредить пользователя о том, что операция «выполняется». Я использую индикатор загрузки. Это придумал использование kotlin и RxJava 2 (надеюсь, это ясно): fun loadData(){ showLoader() // show loading indicator Single.fromCallable { // […]

Single.defer () не выполнен

У меня проблема, когда мой блок Single.defer не выполняется. documentRepository.getDocuments () вызывается для получения документов из БД: class GetReports @Inject constructor( private val reportRepository: ReportRepository, private val documentRepository: DocumentRepository, threadExecutor: ThreadExecutor, postExecutionThread: PostExecutionThread ) : SingleUseCase<List<Report>, Void?>( threadExecutor, postExecutionThread) { override fun buildUseCaseObservable(params: Void?): Single<List<Report>> { return reportRepository .getReports() .flatMap { reports -> val finalReports […]