I have the following method to post response to UI using otto and AsyncTask
.
private static void onGetLatestStoryCollectionSuccess(final StoryColle
This is an example for a file download task using RxJava
Observable downloadFileObservable() {
return Observable.create(new OnSubscribeFunc() {
@Override
public Subscription onSubscribe(Observer super File> fileObserver) {
try {
byte[] fileContent = downloadFile();
File file = writeToFile(fileContent);
fileObserver.onNext(file);
fileObserver.onCompleted();
} catch (Exception e) {
fileObserver.onError(e);
}
return Subscriptions.empty();
}
});
}
Usage:
downloadFileObservable()
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(observer); // you can post your event to Otto here
This would download the file on a new thread and notify you on the main thread.
OnSubscribeFunc
was deprecated. Code updated to use OnSubscribe
insted. For more info see issue 802 on Github.
Code from here.