RxJava2笔记(3)—RxJava结合Retrofit使用
来源:互联网 发布:全景图 js 编辑:程序博客网 时间:2024/06/05 03:17
0.前言
本文将演示RxJava2结合Retrofit2来进行网络请求。
不清楚Retrofit2怎么用的童鞋可以看这篇博客:Retrofit各种姿势请求,如果明白怎么使用的哥们则可以不用,不明白的哥们还是建议看下,因为本文是对比着这篇来写的。
还是用万能的豆瓣接口来进行测试:
String URL = “https://api.douban.com/v2/movie/top250?start=0&count=10“; //豆瓣接口
1.Retrofit在结合了RxJava之后,哪里变化了?
1.1 变化一,RequestApi变化了:
1.2 变化二,请求时的回调也变了,这里我就列举一个来做对比:
Rx&Retro:
Log.d(TAG, "请求发起...post"); retrofitPostApi.postDoubanData("0", "5").subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Subscriber<ResponseData>() { @Override public void onSubscribe(Subscription s) { Log.e(TAG, "onSubscribe before request"); s.request(Long.MAX_VALUE); } @Override public void onNext(ResponseData responseData) { Log.d(TAG, "flowAble value = " + responseData.toString()); } @Override public void onError(Throwable t) { } @Override public void onComplete() { } });
PS:
这里用到了subscribeOn / observeOn,也算是对上一篇blog(RxJava2笔记(2)—线程切换基础)进行的一个练习。
onlyRetro:
findViewById(R.id.btn_request_post).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Log.d(TAG, "请求发起...post"); doCall(PostApi.postDoubanData("0", "10"));//传入district的值,得到Call对象 } }); /** * 执行并显示“请求接口” * * @param call */ private void doCall(Call<ResponseBean> call) { //call#enqueue请求网络 if (!call.isExecuted()) { call.enqueue(new Callback<ResponseBean>() { @Override public void onResponse(Call<ResponseBean> call, Response<ResponseBean> response) { Log.d(TAG, response.body() == null ? "null" : response.body().toString()); PublicUtils.isMainThread(); } @Override public void onFailure(Call<ResponseBean> call, Throwable t) { Log.d(TAG, "失败" + t.toString()); PublicUtils.isMainThread(); } }); } }
3.Demo下载:
项目地址
阅读全文
0 0
- RxJava2笔记(3)—RxJava结合Retrofit使用
- RxJava + Retrofit 结合使用
- Retrofit结合rxjava使用
- Retrofit+Rxjava结合使用(三)
- Retrofit笔记->结合Rxjava初识
- Retrofit 和 RxJava 结合使用
- RxJava,Retrofit,OkHttp3结合使用
- Retrofit和RxJava结合使用
- RxJava和Retrofit结合使用
- RxJava和Retrofit结合使用
- Retrofit + RxJava 的结合使用
- Retrofit与Rxjava结合使用
- rxjava 和retrofit 结合使用
- Retrofit结合Rxjava初步使用
- RxJava2笔记(1)—Hello RxJava
- APP实用开发—RxJava 和 Retrofit 结合使用
- 对Rxjava的理解以及结合Retrofit使用(一)
- Android 中 Retrofit 结合 RxJava使用
- 测试ssh框架搭建时遇到hibernate无法连接数据库
- spring框架所有包解释(不看后悔)
- 处理问题的步骤
- 计算几何【1】叉积的应用,判断点在不在某个多边形内+点阵内图形面积(只有公式)
- 记录
- RxJava2笔记(3)—RxJava结合Retrofit使用
- CSS解决方案
- 关于xgboost,你需要知道的问题
- Java入门教程
- C++11之继承构造函数
- C# 网络爬虫——分析目标网站
- Java的几个基本类型之间的相互转换
- 小程序系列——进
- 中断及中断处理过程