Articles of rx android

Сгладить наблюдаемый <Наблюдаемый <Курсор> к наблюдаемому <Курсор>

У меня есть Observable который возвращает один экземпляр Cursor ( Observable<Cursor> ). Я пытаюсь использовать ContentObservable.fromCursor для получения строки каждого курсора в onNext . Одним из решений, которые я выяснил, является такая конструкция: ContentObservable.fromCursor(cursorObservable.toBlocking().first()) .subscribe(cursor -> { // map to object // add to outer collection }, e -> {}, () -> { // do […]

RxJava / RxAndroid – обрабатывать несколько изменений EditText

У меня есть 3 поля EditText, и я создал 3 наблюдаемых для этих полей. Observable<CharSequence> o1 = RxTextView.textChanges(field1); Observable<CharSequence> o2 = RxTextView.textChanges(field2); Observable<CharSequence> o3 = RxTextView.textChanges(field3); Я хочу включить кнопку, когда все эти три поля имеют некоторое значение. Пользователь может вводить значения в любом порядке в полях. Как я могу это сделать? РЕДАКТИРОВАТЬ Для этого […]

Необходимо ли отказаться от подписки?

Мне трудно понять RX. В следующем случае необходимо отказаться от подписки? Есть ли способ автоматически отказаться от подписки после выполнения функции «вызова»? Observable.create(new Observable.OnSubscribe<NumberInfo>() { @Override public void call(Subscriber<? super NumberInfo> subscriber) { try { // Store data to db } catch (Exception e) { Log.e(TAG, "Downloaded numberInfo was not added to cache.", e); } […]

Rx 2 Android, что лучше Single или Observable для звонков api?

Когда мы используем retrofit2 для выполнения вызовов в режиме API с помощью Rx, Каков наилучший подход к использованию, Single или Observable? public interface ApiService{ Single<Data> getDataFromServer(); Observable<Data> getDataFromServer(); }

Фильтровать список объектов в Rxjava

Я хочу, чтобы фильтр List<Object> основан на запросе от пользователя, а затем возвратил ему List<Object> Я узнал, как фильтровать элементы. Но проблема в том, что я не знаю, как return List<Object> . Я также вижу некоторый подход, который flatMap и вызывается flatMap каждый раз. Но я не думал, что это изящный способ. Это моя последняя […]

Список сортировки android rxjava со классом компаратора

Я начал использовать rxjava с моими проектами Android. Мне нужно отсортировать список событий из вызова api. Я написал класс компаратора для сортировки списка: public class EventParticipantComparator { public static class StatusComparator implements Comparator<EventParticipant> { @Override public int compare(EventParticipant participant1, EventParticipant participant2) { return participant1.getStatus() – participant2.getStatus(); } } } Я могу использовать этот класс с […]

CalledFromWrongThreadException даже при использовании AndroidSchedulers.mainThread ()

Хорошо, мы внедрили MVP-слой для презентации, а также использовали RxJava и RxAndroid. Мы взяли это как пример и построили его. Когда вызывающий вызов запускается, он отправляет Subscriber в модельный интерактор. Интерактор создает Observable и устанавливает observeOn(Schedulers.io()) и subscribeOn(AndroidSchedulers.mainThread()) . Таким образом (мы думали), когда вызов возвращается к Subscriber (внутри Presenter), каждый вызов будет в потоке […]

Деблокирование нажатий кнопок с использованием Rx

Я пытаюсь создать простую кнопку «debouncer», которая будет считать отфильтрованные клики и отображать их через TextView. Я хочу фильтровать быстрые / спам-клики таким образом, что клики с промежутком времени менее 300 мс игнорируются. Я сделал свое исследование и наткнулся на потрясающий debounce() Rx debounce() который теоретически должен делать то, что я хотел. .. или так […]

Schedulers.io () не возвращается в основной поток

Я использую RxParse для анализа асинхронной загрузки запроса, но когда я подписываю свои наблюдаемые с помощью subscribeOn (Schedulers.io ()), мой метод onCompleted никогда не вызывается в основном потоке. Вместо этого мой метод onCompleted вызывается внутри пула рабочих потоков. Если я использую функцию наблюдения (AndroidSchedulers.mainThread), все будет работать, но мой onNextMethod также будет вызван в основной […]

При использовании функции watchOn () поток пользовательского интерфейса Android отключает мое тестирование эмулятора

Когда я использую RxAndroid и .observeOn(AndroidSchedulers.mainThread()) и запускаю тесты на эмуляторе с помощью Android Studio, весь тестовый прогон сбой: Ошибка инструментария из-за « java.lang.NoSuchMethodError » И logcat как logcat ниже: FATAL EXCEPTION: main java.lang.IllegalStateException: Fatal Exception thrown on Scheduler.Worker thread. at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:54) at android.os.Handler.handleCallback(Handler.java:587) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:123) at android.app.ActivityThread.main(ActivityThread.java:4627) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:521) […]