android - Retrofit2 + RxJava2 Flowable for HTTPs request -
now trying understand how use rxjava2 library retrofit2.
my api service:
public interface apiservice { @get observable<string> getobservable(@url string url); @get flowable<string> getflowable(@url string url); } and main activity:
mapiservice.getobservable("https://google.com") .subscribeon(schedulers.io()) .observeon(androidschedulers.mainthread()) .subscribewith(new disposableobserver<string>() { @override public void onnext(@nonnull string s) { log.d(tag,"onnextobservable"); } @override public void onerror(@nonnull throwable e) { log.d(tag,"onerrorobservable"); } @override public void oncomplete() { log.d(tag,"oncompleteobservable"); } }); mapiservice.getflowable("https://google.com") .subscribeon(schedulers.io()) .observeon(androidschedulers.mainthread()) .subscribewith(new flowablesubscriber<string>() { @override public void onsubscribe(@nonnull subscription s) { log.d(tag,"onsubscribeflowable"); } @override public void onnext(string s) { log.d(tag,"onnextflowable"); } @override public void onerror(throwable t) { log.d(tag,"onerrorflowable"); } @override public void oncomplete() { log.d(tag,"oncompleteflowable"); } }); in log see:
- onnextobservable
- onsubscribeflowable
- oncompleteobservable
why don't see onnextflowable? can't response flowable. maybe there more compact method of writing code?
calling url return 1 result or failed (more single or maybe). observable work too. flowable doesn't make sens here.
anyway, try add s.request(1) in onsubscribe(...) of flowable.
flowable has notion of "backpressure". have ask data.
Comments
Post a Comment