目录
1、Retrofit进行基础网络请求
2、添加OkHttp配置:统一配置超时时间、认证等
3、添加Gson解析
4、RxJava简化处理流程
Retrofit是一个流行的网络请求框架,可以将声明的网络请求接口通过动态代理的方式生成具体的请求,内部实际使用OkHttp进行网络请求,可以使用Gson处理请求的数据,使用RxJava进行线程的切换。下面从基础的Retrofit请求开始,依次添加OkHttp配置、Gson、RxJava简化网络请求。
接口来源:和风天气api, 网络请求key需要自己申请
例子
1、Retrofit进行基础网络请求
首先创建一个基础的Retrofit实例:
然后声明网络请求接口:
进行网络请求:
2、添加OkHttp配置:统一配置超时时间、认证等
进行网络请求时需要统一配置超时时间等,同时还需要进行认证(如天气请求时统一的key), 这可以通过添加自定义的OkHttpClient来实现。
于是网络请求接口可以简化为:
同样地,如下进行网络请求:
3、添加Gson解析
网络请求回来的数据需要转成model, Retrofit提供了相关接口,可以通过Gson将请求回来的字符串转成model。
添加依赖:
Retrofit创建时增加解析Factory:
网络请求接口可以写成:
于是网络请求如下:
4、RxJava简化处理流程
如果需要对返回的数据进一步处理,那么使用RxJava是一个比较好的选择。RxJava能够方便的进行上下文切换,可以将复杂、耗时的操作放到非主线程中执行,然后在主线程返回结果。
引入RxJava依赖:
将RxJava配置到Retrofit中:
然后修改网络请求接口声明:
于是网络请求如下: