RxAndroid 3 основная тема - PullRequest
       9

RxAndroid 3 основная тема

0 голосов
/ 16 октября 2019

Я пытаюсь найти основной поток для подписки в Rx3

Single.just(getHeavyData())
                                .subscribeOn(Schedulers.io())
                                .observeOn(AndroidSchedulers.mainThread())
                                .subscribe(new Consumer<Data>() {
                                    @Override
                                    public void accept(Data d) throws Throwable {
                                        setAdapters(d);
                                    }
                                });

AndroidSchedulers.mainThread () - несовместим с новым RX3

Импорт Gradle: implementation "io.reactivex.rxjava3:rxjava:3.0.0-RC3"

Как найти основной поток, чтобы внести изменения в пользовательский интерфейс?

1 Ответ

2 голосов
/ 16 октября 2019

AndroidSchedulers.mainThread () не является частью Rx Java 1,2 или 3. Это часть библиотеки RxAndroid. Добавьте зависимость RxAndroid в свой проект, и вы получите этот метод.

RxAndroid по-прежнему использует RxJava2. До тех пор, пока не будет получено обновление от создателей библиотеки, эта проблема остается.

Новая структура пакета была выпущена с 3.0.0-RC2, и есть библиотека поддержки, чтобы v2 и v3 могли общатьсядруг другу без скрытых или явных проблем компиляции / времени выполнения. Это также означает, что приемы переопределения модулей больше не работают, поэтому вам придется вручную соединять AndroidSchedulers или конвертировать из источников v2, используемых в Retrofit, до тех пор, пока эти (и многие другие) библиотеки не начнут поддерживать v3.

Пожалуйста, обратитесь это и это

...