Articles of rx java

Понимание потоков данных и нескольких подписчиков (с использованием модификации)

Скажем, у меня есть 2 Observables (A & B), которые по сути являются сетевыми вызовами (с использованием Retrofit для предоставления контекста). Текущий поток приложения выглядит следующим образом: A & B запускается примерно в одно и то же время (асинхронно). B выполняется 0 или более раз при взаимодействии с пользователем У меня есть 3 разных сценария, […]

Преобразовать в lambda из выражения rx java

Я начал заглядывать в ретроламбду и rxjava. Некоторые выражения, которые я сам преобразовал, но некоторые из них я не могу преобразовать. Я добавил retrolambda к моему проекту. Вот примеры public Observable<ImmutableList<Repository>> getUsersRepositories() { return githubApiService.getUsersRepositories(user.login) .map(repositoryResponses -> { final ImmutableList.Builder<Repository> listBuilder = ImmutableList.builder(); for (RepositoryResponse repositoryResponse : repositoryResponses) { Repository repository = new Repository(); repository.id […]

RxJava: "java.lang.IllegalStateException: разрешен только один абонент!"

Я использую RxJava для вычисления нормализованной автокорреляции данных некоторых датчиков в Android. Как ни странно, мой код генерирует исключение («java.lang.IllegalStateException: разрешен только один подписчик!»), И я не уверен, что с этим делать: я знаю, что GroupedObservables может выкинуть это исключение при подписке на моих многочисленных подписчиков, но Я не думаю, что я использую такую ​​вещь […]

Неправильное понимание буфера в RxJava

Я пытаюсь познакомиться с RxJava. Вот пример использования, который я пытаюсь достичь: У меня есть кнопка на моем экране, и я пытаюсь собрать количество кранов. Таким образом, если пользователь нажимает кнопку, клик регистрируется и создается журнал. Теперь, если пользователь дважды нажимает кнопку, тогда он регистрирует оба клика, собирает их и выдает 2 вместо 1. По […]

RxJava – загрузка файлов последовательно – испускает следующий элемент, когда onNext вызывает

У меня есть метод, который одновременно загружает несколько файлов в облачное хранилище. Это выглядит примерно так: List<String> files = Arrays.asList("file0", "file1", "file2"); Observable.from(files) .flatMap(file -> uploadFile(file) .flatMap(done -> notifyFinished(file))) .subscribe(this::onNext, this::onError, this::onCompleted); private Observable<Boolean> uploadFile(String file) { Timber.d("Uploading: " + file); return Observable.just(true).delay(6, TimeUnit.SECONDS); } private Observable<Boolean> notifyFinished(String file) { Timber.d("Notify finished: " + file); […]

Retrofit2 и kotlin

Я пытаюсь объединить Kotlin RxJava и retrofit2. @GET("/xxxxxxxxxxxx/{id}.json") fun getHotel(@Part("id") id : String) : Observable<Response<Hotel>> Когда я пытаюсь вызвать этот метод (getHotels ()): var subscription = HotelsFactory.getHotelService((activity.applicationContext as App) .client) .getHotel(arguments.getInt("id").toString()) .subscribeOn(Schedulers.computation()) .observeOn(AndroidSchedulers.mainThread()) .subscribe({response -> showHotels(response)}) {throwable -> throwable.printStackTrace()} mSubscription.add(subscription) Я беру это: Параметры @Part могут использоваться только с многострочной кодировкой.

Зачем нужна функция onBackpressure () здесь для событий click?

Я пытаюсь сделать обработку ошибок для некоторых действий, связанных с нажатием кнопки. Для привязки я использую RxAndroid + RxAndroid. Похоже, что он должен работать с кодом ниже, но он не имеет комментариев с помощью onBackpressure() : CurrentUser signIn() { throw new RuntimeException(); } Integer x = 1; PublishSubject<Throwable> loginingFailedSubject = PublishSubject.create(); @Override public void onStart() […]

Как я могу заставить этот rxjava zip работать параллельно?

У меня есть метод сна для моделирования продолжительного процесса. private void sleep() { try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } } Затем у меня есть метод, возвращающий Observable, содержащий список из двух строк, заданных в параметрах. Он вызывает сон перед возвратом строк назад. private Observable<List<String>> getStrings(final String str1, final String str2) { […]

Использование RxJava для запроса цепочки в одном потоке

Я сохраняю местоположение пользователя в локальной базе данных приложения, а затем отправляю его на сервер. Как только сервер вернется к успеху, я удалю отправленное местоположение. Каждый раз, когда точка была сохранена в базе данных, я вызываю этот метод: public void sendPoint(){ amazonRetrofit.postAmazonPoints(databaseHelper.getPoints()) .map(listIdsSent -> deleteDatabasePoints(listIdsSent)) .doOnCompleted(() -> emitStoreChange(finalEvent)) .observeOn(AndroidSchedulers.mainThread()) .subscribeOn(AndroidSchedulers.from(backgroundLooper)) .subscribe(); } Я запрашиваю базу […]

Не удалось найти класс rx.android.schedulers.AndroidSchedulers

Я использую как rxjava / rxandroid, так и jackson-databind в своем приложении, но кажется, что обе библиотеки не могут работать вместе. Когда я пытаюсь запустить мое приложение, он возвращает следующую ошибку: java.lang.ClassNotFoundException: rx.android.schedulers.AndroidSchedulers Вот мой файл градиента: apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { applicationId "myapp" minSdkVersion Integer.parseInt(project.ANDROID_MIN_SDK_VERSION) targetSdkVersion 23 versionCode […]

Intereting Posts
Как получить друзей Google+ на Android OnStop () не получает вызов, когда я нажимаю кнопку «Назад» «ItemizedOverlay» не может быть разрешено для типа Как я могу отображать файлы журнала, System.out.println (), в тесте Android? Разработчик контракта Android оставил, нужно обновить приложение без оригинального хранилища ключей – возможно ли это? AChartEngine Y-Axis настраивает поля полей меток и значений диаграммы как String? Уведомление Big Text Android GCM Android – fragmentTransaction.replace () не работает в библиотеке поддержки 25.1.0 Включить слайдер громкости мультимедиа в приложении Android Когда вы сфокусировали EditText внутри ListView или RecyclerView, клавиатура показывает, но прокрутка не работает DatePicker.setMinDate (long minDate) бросает IllegalArgumentException: время не между Сигнал ошибки Android 11, когда фильм втягивается в холст Использование панели инструментов с фрагментами Как получить уровень заряда аккумулятора после подключения к устройству BLE? Получите активность в поле `ViewDataBinding` внутри модуля« Robolectric »после его назначения