Size: a a a

StartAndroid Ru RxJava

2020 March 06

М

Михаил in StartAndroid Ru RxJava
gateway возвращает Single
источник

M

Mikhail Android in StartAndroid Ru RxJava
.switchIfEmpty до мапа надо судя по логике
источник
2020 March 07

d

ddgrad in StartAndroid Ru RxJava
Добрый день. Подскажите пожалуйста как выполнить метод onNext в рабочем потоке, а onError в главном? Вариант вызывать ошибку в runOnUI нормальный ?
источник

d

ddgrad in StartAndroid Ru RxJava
Observable.just(responseBody)
               .subscribeOn(Schedulers.io())
               .subscribe(new Observer<ResponseBody>() {
                   @Override
                   public void onSubscribe(Disposable d) {}

                   @Override
                   public void onNext(ResponseBody responseBody) {
                           createFileApk(responseBody, apkFile);}

                   @Override
                   public void onError(Throwable e) {
                       showErrorDownloading(e);}

                   @Override
                   public void onComplete() {}
               });
источник

KK

Konstantine Kovalenko in StartAndroid Ru RxJava
ddgrad
Observable.just(responseBody)
               .subscribeOn(Schedulers.io())
               .subscribe(new Observer<ResponseBody>() {
                   @Override
                   public void onSubscribe(Disposable d) {}

                   @Override
                   public void onNext(ResponseBody responseBody) {
                           createFileApk(responseBody, apkFile);}

                   @Override
                   public void onError(Throwable e) {
                       showErrorDownloading(e);}

                   @Override
                   public void onComplete() {}
               });
не совсем понял, но по идее вот это нужно .observeOn(AndroidSchedulers.mainThread())
источник

d

ddgrad in StartAndroid Ru RxJava
Тогда и onNext будет происходить в главном потоке, так ведь?
источник

KK

Konstantine Kovalenko in StartAndroid Ru RxJava
если честно, сейчас нет особо времени обьяснить, но не должно. В каком подписываешься в том и выполняется, и результат уже в поток observeOn
источник

l

lenar in StartAndroid Ru RxJava
ddgrad
Добрый день. Подскажите пожалуйста как выполнить метод onNext в рабочем потоке, а onError в главном? Вариант вызывать ошибку в runOnUI нормальный ?
скорее всего придется раздваивать поток и обработку ошибок проводить в ином потоке. а подписчик уже будет работать только с результатом, без ошибки
источник

М

Михаил in StartAndroid Ru RxJava
Подскажите пожалуйста как создать BehaviourSubject, чтобы он получал данные от Single грамотно? Не могу найти информацию. Есть какие-нибудь хорошие учебники, где можно полезную информацию найти?
источник
2020 March 09

d

double_b in StartAndroid Ru RxJava
Заранее извиняюсь за копипаст с другого чата. понимаю, что вопрос не очень, но все таки: могу ли передать текущий поток сюда как нибудь? Чтоб результат он слушал в текущем потоке, а не создавал новую?
источник

М

Михаил in StartAndroid Ru RxJava
double_b
Заранее извиняюсь за копипаст с другого чата. понимаю, что вопрос не очень, но все таки: могу ли передать текущий поток сюда как нибудь? Чтоб результат он слушал в текущем потоке, а не создавал новую?
Если в треде нет какого нибудь лупера то анрил
источник

d

double_b in StartAndroid Ru RxJava
Михаил
Если в треде нет какого нибудь лупера то анрил
да, анрил. пришлось в маин кидать результаты из двух процессов((((
источник

М

Михаил in StartAndroid Ru RxJava
double_b
да, анрил. пришлось в маин кидать результаты из двух процессов((((
Всегда можно свой тред с лупером запустить. Если андроид то есть HandlerThread
источник

d

double_b in StartAndroid Ru RxJava
Михаил
Всегда можно свой тред с лупером запустить. Если андроид то есть HandlerThread
то есть гуглить хандлер? спасибо, ща попробую
источник

М

Михаил in StartAndroid Ru RxJava
double_b
то есть гуглить хандлер? спасибо, ща попробую
HandlerThread* )
источник

М

Михаил in StartAndroid Ru RxJava
У рхандроид есть метод. AndroidSchedulers.from(myHandlerThread.getLooper()) можно сделать
источник

М

Михаил in StartAndroid Ru RxJava
Можно вообще так запилить.
class VideoStreamScheduler {
   private HandlerThread handlerThread = new HandlerThread("video-thread");
   Scheduler scheduler = AndroidSchedulers.from(handlerThread.getLooper());
}
источник

d

double_b in StartAndroid Ru RxJava
Михаил
Можно вообще так запилить.
class VideoStreamScheduler {
   private HandlerThread handlerThread = new HandlerThread("video-thread");
   Scheduler scheduler = AndroidSchedulers.from(handlerThread.getLooper());
}
такой вот пример я видел - но немного поленился
источник

М

Михаил in StartAndroid Ru RxJava
double_b
такой вот пример я видел - но немного поленился
Ну кода не много) и будет свой шедулер для конкретных целей
источник

d

double_b in StartAndroid Ru RxJava
Михаил
Можно вообще так запилить.
class VideoStreamScheduler {
   private HandlerThread handlerThread = new HandlerThread("video-thread");
   Scheduler scheduler = AndroidSchedulers.from(handlerThread.getLooper());
}
ты же предлагаешь что-то вроде такого?
источник