Articles of rx java2

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>> Так я выполняю вызов: […]

Почему у меня есть нежелательный выход Log при слиянии 2 наблюдаемых в другие Observable, которые буферизуют их каждые 10 секунд

Я пытаюсь имитировать слияние двух разных потоков Observable, которые излучают некоторый объект каждую секунду. Этот объект имеет тот же Родитель в этих двух потоках. Я думал, что в консоли появится новый объект со значением через 1 секунду. Однако, когда я печатаю эти объекты, я получаю объекты, которые пропускают предыдущую эмиссию. Точно так же объект со […]

RxJava2 switchIfEmpty и проверка выполнения

так что .. представьте, что у меня есть метод, подобный этому: LocalDatabase: public Observable<PoiObject> getPoiObject() { return Observable.defer { PoiObject object = poiDao.getPoiObject(); if(object == null) { return Observable.empty(); } else { return Observable.just(object); } } } теперь у меня есть другой способ где-то еще: Обслуживание: public Observable<PoiObject> getPoiObject() { return localDatabase.getPoiObject() } public Observable<PoiObject> […]

Смутно о переменной RxJava Assignment

У меня есть функция, которая принимает имя пользователя String и возвращает, существует ли пользователь в базе данных MongoDB. Я новичок в модели RxJava и Retrofit, и я смущен тем, что hwo назначает переменные, когда я подписываюсь на объект Observable. fun handleUsername(username: String): Boolean { var userExists = false UserServiceProvider.getUserService().getUserByUsername(username) .subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(object : Observer<User> { […]

RxJava 1.x .zip () не работает на RxJava 2.0

Я пытаюсь изучить запросы на цепочку с помощью RxJava + Retrofit + Kotlin. В учебнике, в котором я работал, было использование RxJava 1.x, поэтому, когда я пытаюсь повторно реализовать с RxJava 2.x, я не могу получить .zip () для работы. Это простое приложение, использующее API Star Wars, возвращающее список фильмов, ando для каждого фильма, получение […]

Невозможно закрепить заметки Rxjava

Я использую RxJava 2. *, и я хочу объединить результаты двух наблюдаемых (один из модифицированных и другой из комнаты) с помощью оператора zip (не стесняйтесь предлагать лучше). Объекты модели, которые поступают с удаленного сервера, отличаются от объектов, выходящих из Database Room. Я хочу сопоставить объекты из Remote с локальными Объедините эти два результата Отобразить результат. […]

Как написать надлежащий тест для реактивного репозитория интерфейса, который возвращает Observable только в том случае, когда есть какое-то событие, как издеваться над запуском этого события

Я пытаюсь написать правильный тест для моего реактивного репозитория, который просто прослушивает изменения местоположения. Я не хочу на самом деле прослушивать изменения местоположения и просто «вызывать» новое изменение местоположения несколько раз с созданием настраиваемого местоположения. Вот репозиторий и его функция для сбора мест: interface RxLocationRepository { @SuppressLint("MissingPermission") fun onLocationUpdate(): Observable<Location> fun stopLocationUpdates() } Вот его […]

Различный тип возврата в RxJava 2 (обновление от RxJava1)

Я переношу наше приложение из RxJava 1.xx в RxJava 2.xx У меня проблема с одним из моих методов – он возвращает другой тип возврата. У меня был этот метод в версии 1.xx: fun permissionsUsers(groupId: String): Observable<PermissionsUsers?> { return DatabaseRead.permissions(groupId) .flatMap { Observable.from(it).map { combineLatest(DatabaseRead.user(it.getId()), Observable.just(it.level), ::UserLevel) }.toList() } .flatMap { Observable.combineLatest(it) { var owner: User? […]

Single.zip завершение до onSuccess

Я хочу совместить ответ 2 синглов в одном объекте override fun buildUseCase(params: Int): Single<EventDetails> { return eventDetailsComponent.getEventDetails(params) .zipWith(bookingComponent.getBookingPage(bookingParams), BiFunction { details, page -> return@BiFunction details.apply { booking_page = page } }) } Но когда я подписываюсь, я не получаю onSuccess, потому что один из синглов заканчивается перед другим fun loadEventDetails(id: Int) { usecase.execute(id) .doOnSubscribe(onSubscribe) .observeOn(SchedulerProvider.mainThread) […]

Ошибка «Невозможно объединить dex» при использовании Room + Kotlin

Я не владею английским языком. Пожалуйста, извините мою орфографию и ошибку грамматики. Я пытаюсь реализовать интерфейс Android с базой данных Android с Kotlin. После ввода Room в мой проект приложение вызывает ошибку сборки. Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'. > com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex Я запускаю gradlew в терминале и получаю следующие сообщения об ошибках: […]