Size: a a a

StartAndroid Ru RxJava

2017 July 21

КП

Константин Просолупов in StartAndroid Ru RxJava
Илья Кобзев
Здравствуйте. В каком уроке овещается тема выполнения задач в потоках для Android, и возврат результата в UI? Столкнулся с проблемой, когда задача выполняется в потоке, а в callBack onComplete нужно выполнить например setText. Так вот на этом методе приложение падает. Если же использовать .observeOn(AndroidSchedulers.mainThread()), то все вычисления работают в главном потоке.
Если я Вас правильно понял, то вам необходим "Урок 6. subscribeOn и observeOn"
источник

A

Alexey Turkin in StartAndroid Ru RxJava
необхдимо добавить метод subscribeOn,насколько я понимаю
источник

A

Alexey Turkin in StartAndroid Ru RxJava
и да, Константин прав
источник

КП

Константин Просолупов in StartAndroid Ru RxJava
Илья Кобзев
Здравствуйте. В каком уроке овещается тема выполнения задач в потоках для Android, и возврат результата в UI? Столкнулся с проблемой, когда задача выполняется в потоке, а в callBack onComplete нужно выполнить например setText. Так вот на этом методе приложение падает. Если же использовать .observeOn(AndroidSchedulers.mainThread()), то все вычисления работают в главном потоке.
Выполнить вычисления вы можете в отдельном потоке, например с помощью .subscribeOn(Schedulers.io()). А .observeOn(AndroidSchedulers.mainThread()) вернет вам результат в главный поток.
источник

КП

Константин Просолупов in StartAndroid Ru RxJava
Alexey Turkin
необхдимо добавить метод subscribeOn,насколько я понимаю
я немного опоздал)))
источник

ИК

Илья Кобзев in StartAndroid Ru RxJava
Константин Просолупов
Выполнить вычисления вы можете в отдельном потоке, например с помощью .subscribeOn(Schedulers.io()). А .observeOn(AndroidSchedulers.mainThread()) вернет вам результат в главный поток.
Вот как раз так и делал приложение падает на
@Override
       public void onCompleted() {
         textView.setText("Result");
       }
источник

A

Alexey Turkin in StartAndroid Ru RxJava
а с какой ошибкой падает?
источник

ИК

Илья Кобзев in StartAndroid Ru RxJava
Ой, прошу прощения - не совсем так: приложение таким образом постоянно выдает в UI, т.е. не в потоке. Это хорошо видно, т.к. UI "замерзает".  Если выполнять без .observeOn(AndroidSchedulers.mainThread()), то приложение упадет, т.к. setText будет выполняться в потоке.
источник

КП

Константин Просолупов in StartAndroid Ru RxJava
Выложите код на gist и дайте ссылку. Так вам быстрее помогут решить проблему.
источник

ИК

Илья Кобзев in StartAndroid Ru RxJava
https://gist.github.com/anonymous/d29a95e88c026412f5822df33b87862c
Чтобы вернуть что-то в UI, мне пришлось использовать Handler.
источник

DV

Dmitry Vinogradov in StartAndroid Ru RxJava
from - не лучший выбор
источник

DV

Dmitry Vinogradov in StartAndroid Ru RxJava
источник

DV

Dmitry Vinogradov in StartAndroid Ru RxJava
он скорее всего как и just будет выполняться в том же потоке, где вы подписались
источник

AP

Alexander Parkhomenko in StartAndroid Ru RxJava
observeOn(AndroidSchedulers.mainThread())
источник

AP

Alexander Parkhomenko in StartAndroid Ru RxJava
это ж вроде и есть ui поток
источник

AP

Alexander Parkhomenko in StartAndroid Ru RxJava
выше же написали добавить еще subscribeOn(Schedulers.io()) для выполнения не в ui
источник

ИК

Илья Кобзев in StartAndroid Ru RxJava
Спасибо. Думаю, это ближе к истине. Попробую.
источник

A

Alexey Turkin in StartAndroid Ru RxJava
Дмитрий, такой вопрос
источник

A

Alexey Turkin in StartAndroid Ru RxJava
Вот вы мне отвечали про bus на основе RxJava, что сами используете
источник

A

Alexey Turkin in StartAndroid Ru RxJava
Чем является этот RxBus в терминах DI? В каком он "слое" должен быть
источник