I am trying to understand the retrofit with RxJava. I have seen many different examples on subscribe method and couldn't find the proper explanation for doing it.
1st One
Observable<PostMessage> call = service.callAPI(data);
call.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<PostMessage>(
));
2nd One
Observable<PostMessage> call = service.callAPI(data);
call.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<PostMessage>(
) {
@Override
public void accept(PostMessage postMessage) throws Exception {
}
});
}
3rd One
Observable<PostMessage> call = service.callAPI(data);
call.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new DisposableObserver<PostMessage>() {
@Override
public void onNext(PostMessage postMessage) {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
}
4th One
Observable<PostMessage> call = service.callAPI(data);
call.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<PostMessage>(
) {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(PostMessage postMessage) {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
Could anyone explains what there these three ways of doing it. Each has different meaning or do the same thing ?