自己写的RxJava和Retrofit结合
来源:互联网 发布:新媒体传播 网络传播 编辑:程序博客网 时间:2024/05/29 05:11
依赖:
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'compile 'io.reactivex.rxjava2:rxjava:2.0.1'compile 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
ApiService:
public interface ApiService { @GET io.reactivex.Observable<Beann> get(@Url String url);}
Util:
public class RetrofitUtil { private ApiService apservice; private static volatile RetrofitUtil retrofitutils; public RetrofitUtil(String baseurl) { if(apservice==null){ OkHttpClient okClient = new OkHttpClient.Builder().build(); Retrofit retrofit = new Retrofit.Builder() .baseUrl(baseurl) .client(okClient) .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) .addConverterFactory(GsonConverterFactory.create()) .build(); apservice = retrofit.create(ApiService.class); } } public static RetrofitUtil getInstence(String baseurl){ if(null==retrofitutils){ synchronized (RetrofitUtil.class){ if(retrofitutils==null){ retrofitutils = new RetrofitUtil(baseurl); } } } return retrofitutils; } public void get(String url,final CallBack callback){ io.reactivex.Observable<Beann> bo = apservice.get(url); bo.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer<Beann>() { @Override public void onSubscribe(Disposable d) { Log.e("Retrofit","onSubscribe"); } @Override public void onNext(Beann value) { Log.e("Retrofit","请求了"); callback.onSuccess(value); } @Override public void onError(Throwable e) { Log.e("Retrofit","请求错了"); } @Override public void onComplete() { Log.e("Retrofit","不执行其它的操作了"); } }); }}
阅读全文
0 0
- 自己写的RxJava和Retrofit结合
- rxjava和retrofit结合
- RxJava和Retrofit结合
- Retrofit和RxJava的结合使用
- Rxjava和Retrofit结合使用的案例
- Retrofit和Rxjava结合的例子
- retrofit和Rxjava结合 recyclerview的应用
- Dragger2、RxJava和Retrofit的巧妙结合
- Retrofit 和 Rxjava 的结合使用
- 结合retrofit和rxjava的使用
- Retrofit 和 RxJava 结合使用
- Retrofit和RxJava结合使用
- RxJava和Retrofit结合使用
- RxJava和Retrofit结合使用
- rxjava 和retrofit 结合使用
- Retrofit+Rxjava的完美结合
- Retrofit + RxJava 的结合使用
- Retrofit和RxJava结合使用例子分析
- Python(2)python中的注释,语句分类,变量,数据类型,多进制书写规则
- nyoj 字母统计
- jq 判断session值是否为空
- shared_ptr的使用和陷阱
- 在Eclipse中使用Maven插件创建Javaweb项目的教程
- 自己写的RxJava和Retrofit结合
- 学习资料(干货汇集)不断更新【更新于2017-9-17】
- Unity消息机制
- 最大子序列的三种求解方式
- 进程等待与wait&waitpid
- HDU-2602 Bone Collector 01背包
- springboot实现kaptcha验证码
- Java类静态属性、静态块、非静态属性、非静态块、构造函数在初始化时的执行顺序
- MyBatis在insert插入操作时返回主键ID