Android基于Retrofit2.0+RxJava的结合使用,让你的网络请求更简单

最近学习了一种现在非常火的请求网络的方式retrofit2.0,使用起来也是非常的简单它与rxjava的结合也会让你的请求更加的简单,下面上代码,简单的演示一下.

具体的使用

1.首先在自己的工程中导入一下依赖,依赖千万别倒错了,不然就会出现问题.!!

  compile 'com.squareup.retrofit2:retrofit:2.0.2'
    // Retrofit库
    compile 'com.squareup.okhttp3:okhttp:3.1.2'
    // Okhttp库
    compile 'com.squareup.retrofit2:converter-gson:2.0.2'
    compile 'io.reactivex:rxjava:1.0.14'
    compile 'io.reactivex:rxandroid:1.0.1'
    compile 'com.squareup.retrofit2:adapter-rxjava:2.0.2'

2.在配置文件中添加权限

<uses-permission android:name="android.permission.INTERNET"/>

3.接下来就该看看代码的实现了.
首先新建一个接口的类


    public interface MyApi {

//这是请求数据网址的后半部分,前一部分在实例 Retrofit的时候会出现

    @GET("a2a/impressApi/news/mergeList?sign=C7548DE604BCB8A17592EFB9006F9265&pageSize=20&gender=2&ts=1871746850&")
    //正常网络请求返回类型用Call就可以了,但是我们是和Rxjava结合一起使用,所以使用被观察者对象 
    Observable<News> getCall(@Query("page") int page);

//接下来实例化Retrofit,这个可以在此类中实现也可以写在MainActivity中

    Retrofit retrofit=new Retrofit.Builder()
            .baseUrl("http://www.yulin520.com/")//网址的前部分,这里的url与请求的url拼接成一个完整的URL  
            .addConverterFactory(GsonConverterFactory.create())//使用Gson进行解析
            .addCallAdapterFactory(RxJavaCallAdapterFactory.create())//支持RxJava,在使用RxJava时必须要加这句话
            .build();
    MyApi utils=retrofit.create(MyApi.class);

}

然后再新建一个MainActivity,实现如下代码


 MyApi.utils.getCall(page).subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Observer<News>() {
            @Override
            public void onCompleted() {

            }

            @Override
            public void onError(Throwable e) {

            }

            @Override
            public void onNext(News news) {
                Log.i("111111", "onNext: "+news.toString());
            }
        });

这样Retrofit和Rxjava就完美的结合使用了.

有哪里不懂可以评论下,看到时会进行解答,请大家多多支持,谢谢大家.

想要深入了解的给大家推荐一篇博客:https://juejin.im/entry/596808f2f265da6c386d0d77

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值