Retrofit2+OkHttp3+RxJava搭建网络框架

Retrofit2+OkHttp3+RxJava搭建网络框架 和别人分享你的知识,那才是永恒之道。之前跟朋友闲聊的时候,从朋友那里知道了安卓的几个最新的框架,其中就包括本博要说的Retrofit和RxJava。当时听朋友说的有多么多么好,多么多么的高效,本人也是出于对技术的追求,回来后自己网上搜了搜,相关资料还是挺多的,并且好评率极高,自己也受益匪浅。最近刚又开了一个项目,刚好可以那这个项目练
摘要由CSDN通过智能技术生成

Retrofit2+OkHttp3+RxJava搭建网络框架

和别人分享你的知识,那才是永恒之道。之前跟朋友闲聊的时候,从朋友那里知道了安卓的几个最新的框架,其中就包括本博要说的Retrofit和RxJava。当时听朋友说的有多么多么好,多么多么的高效,本人也是出于对技术的追求,回来后自己网上搜了搜,相关资料还是挺多的,并且好评率极高,自己也受益匪浅。最近刚又开了一个项目,刚好可以那这个项目练练手,所以也跟着大牛学着搭建了这么一个网络框架,在这里分享出来,如有感觉那里不对,或是有更好想法的地方,还请各位动动手,给出宝贵意见。废话不多说了,直接上代码了。

首先封装一个获取Retrofit,并集成0kHttp3的抽象基类

  public abstract class RetrofitUtils {
   

    //服务器路径
    private static final String API_SERVER = "http://192.168.16.147:8080";

    private static Retrofit mRetrofit;
    private static OkHttpClient mOkHttpClient;

    /**
     * 获取Retrofit对象
     *
     * @return
     */
    protected static Retrofit getRetrofit() {

        if (null == mRetrofit) {

            if (null == mOkHttpClient) {
                mOkHttpClient = OkHttp3Utils.getOkHttpClient();
            }
            mRetrofit = new Retrofit.Builder()
                    .baseUrl(API_SERVER + "/")
                    .addConverterFactory(GsonConverterFactory.create())
                    .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
                    .client(mOkHttpClient)
                    .build();

        }

        return mRetrofit;
    }

}

从Retrofit升级到2.0之后,就使用了build设计模式(生产者模式),将一个复杂的构建与其表示相分离。

  • baseUrl(API_SERVER + “/”):设置服务器路径
  • addConverterFactory(GsonConverterFactory.create()):添加转化库,默认是Gson
  • addCallAdapterFactory(RxJavaCallAdapterFactory.create()):添加回调库,采用RxJava
  • client(mOkHttpClient):设置使用okhttp网络请求

设置服务器就不多说了,是为了方便大家管理。添加转化库,为了能把网络数据直接解析成我们想要的javabeam,方便操作。添加回调库,这里采用的是RxJava,关于为什么使用RxJava,大家网上一搜就知道了,我就不多说啥了。最后是设置okhttp为网络请求,okhttp是高性能的http库,拥有队列线程池,轻松解决并发,自动维护socket连接池,所以这里使用okhttp可谓是更上一层楼。

然后就是要设置OkHttpClient请求的

public class OkHttp3Utils {
   

    
  • 14
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 23
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值