Retrofit2+RxJava
2016-08-28 22:30
99 查看
Retrofit2+RxJava
1.定义接口
Observableinterface city { @GET("openapi/cities") Observable<City> getCitiesBean(); }
2.Subscriber
Func1 和 Action 的区别在于, Func1 包装的是有返回值的方法。另外,和 ActionX 一样, FuncX 也有多个,用于不同参数个数的方法。FuncX 和 ActionX 的区别在 FuncX 包装的是有返回值的方法。city.getCitiesBean() .subscribeOn(Schedulers.io())//指定网络加载等操作在I/0线程 .observeOn(AndroidSchedulers.mainThread())//更新页面在主线程,符合业务逻辑 .map(new Func1<City, List<City.CitiesBean>>() { @Override public List<City.CitiesBean> call(City city) { return city.getCities(); } })//Func1是一个带返回值的包装,map是对Observable进行转换 .flatMap(new Func1<List<City.CitiesBean>, Observable<String>>() { @Override public Observable<String> call(List<City.CitiesBean> citiesBeen) { return Observable.just(citiesBeen.get(1).getCity_name()); }//subscribe是订阅,其中Action1是一个封装了OnNext的 }).subscribe(new Action1<String>() { //flatMap也是一种转换,是对多个对象进行转换,返回的必须是一个Observable,然后再进行订阅,接受到的新的 //订阅再进行subscribe订阅,然后操作的是这个新的Observable。相当于A->C变成A->B,B->C这样铺平。也就是 //flat的含义。 @Override public void call(String s) { Log.v("aaaaaaaaa",s); } });
标准应该是subscribe,(new Observer)这样可以得到completed也就是发送完毕的,OnNext执行的操作,以及ERROR报错。Action1是带一个参数,OnNext()的包装。
new Observer<String>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { } @Override public void onNext(String s) { } }
3.取消订阅,Subscriber.unsubcribe();
相关文章推荐
- retrofit2 RxJava在android中的使用
- rxjava+retrofit简单demo
- 初识RXJava+Retrofit
- 简单实现两个listView的联动效果(网络框架Retrofit+Rxjava)
- rxjava+retrofit
- [置顶] mvp+dagger2+retrofit2+rxjava 项目框架 最佳实践
- Retrofit2.0+RxJava+RxAndroid——强强联合的网络请求框架
- 使用MVP+Retrofit+RxJava实现的的Android Demo (下)使用Retrofit+RxJava处理网络请求
- RxAndroid+RxJava+Gson+retrofit+okhttp初步搭建android网络请求框架
- Android-网络框架04Retrofit2.0+RxJava
- Android网络开发框架Retrofit(四:扩展篇,Retrofit+RxJava)
- 【Android】RxJava + Retrofit完成网络请求
- Android Retrofit 2.0框架 GET和POST的实现方式(配合RxJava)
- retrofit和Rxjava结合 recyclerview的应用
- 手把手教你做开源项目MyMeiZi 一( RxJava + Retrofit)
- 基于Retrofit+RxJava的Android分层网络请求框架
- Retrofit+RxJava的联合使用
- Android RxJava和Retrofit网络框架封装(一)
- Android 基于Retrofit+Rxjava搭建的简单易用的网络架构
- Android 基于ijkplayer+Rxjava+Rxandroid+Retrofit2.0+MVP+Material Design的android万能播放器aaa