Retrofit + RxJava + OkHttp 最佳组合--基础

本文介绍了Retrofit、RxJava和OkHttp的组合在网络请求中的应用,Retrofit作为封装接口,OkHttp负责请求,RxJava处理异步。通过创建Retrofit实例、定义接口、设置网络请求及响应处理,展示了如何进行基础的网络调用。同时提到了RxJava的订阅机制用于线程切换,以及OkHttp的配置如超时时间和拦截器。
摘要由CSDN通过智能技术生成

有云:“知其然,当知其所以然”。在之前的项目中,都用到了Retrofit + RxJava + OkHttp的组合来进行网络请求,这也是当下主流的网络请求框架,使用起来着实方便高效。但只是停留在了会用的位置,没有真正的去解析理解其内部的实现,或者说实现原理。所以,接下来准备用几篇文章对这个经典组合进行总结,学习。从这篇的基础用法开始。

先对这三个开源库解释下:
OkHttp:网络请求库;
Retrofit :对网络请求的封装,底层的实现是OkHttp;
RxJava:一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库–这是Rxjava的自我介绍。
对于三者来说,Retrofit 负责请求的数据和请求的结果,使用接口的方式呈现,OkHttp 负责请求的过程,RxJava 负责异步,各种线程之间的切换。

Retrofit用法

以获取豆瓣电影Top 250为例:
https://api.douban.com/v2/movie/

  • 引入对应的包
 compile 'com.squareup.retrofit2:retrofit:2.1.0'//retrofit
 compile 'com.google.code.gson:gson:2.6.2'//Gson 库
  • 定义请求接口
public interface NetServers {
    @GET ("top250")
    Call<MoveResponse> getTopMove(@Query("start") int start, @Query("count")int count);
}

这里采用Get的方式进行网络获取,当然支持包括Post在内的多种请求方式,相关的注解可参考
https://www.jianshu.com/p/308f3c54abdd 这篇文章,总结的比较详细。

  • 创建Retrofit实例,完成相关配置
public class RetrofitIntances {
    private static final String MAIN_URL = "https://api.douban.com/v2/movie/";

    private static RetrofitIntances mRetrofit = null;
    private static NetServers mNetServer;
    private Retrofit retrofi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值