retrofit和Rxjava结合 recyclerview的应用

    网络请求中retrofit和Rxjava ,Rxndroid的结合使用会使得我们的网络请求的代码更加的流畅,下面介绍一下 他们的应用。首先要在app的目录build.gradle中引入第三方的依赖

//Retrofit
compile 'com.squareup.retrofit2:retrofit:2.0.2'
compile 'com.squareup.retrofit2:converter-gson:2.0.2'
compile 'com.squareup.retrofit2:adapter-rxjava:2.0.2'
//RxJava
compile 'io.reactivex:rxjava:1.1.5'
compile 'io.reactivex:rxandroid:1.2.0'
   资源包引入之后那么我们开始把一些核心的代码贴出来

1.Retrofit retrofit = new Retrofit.Builder()
        .baseUrl("https://perapi.svipmovie.com")
        .client(new OkHttpClient().newBuilder().build())
        .addConverterFactory(GsonConverterFactory.create())
        .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
        .build();
首先我们设置retrofit和Gson,还有RxJavaCallAdapter,这样就成功了绑定了 gson 和 RxJava

2.

ServeceiApi serveceiApi = retrofit.create(ServeceiApi.class);

serveceiApi.getHomePage()
        .subscribeOn(Schedulers.io())
        .observeOn(AndroidSchedulers.mainThread()).subscribe(new Subscriber<HomePage>() {
    @Override
    public void onCompleted() {
        Toast.makeText(MainActivity.this, homePage.toString() + "sdfssdf", Toast.LENGTH_LONG).show();
        String homeBacPic = homePage.getData().getHomeBacPic();

        tv_rceycl.setAdapter(new Myadpter(MainActivity.this, homePage));
        // tv_rceycl.setLayoutManager(new LinearLayoutManager(MainActivity.this));
        tv_rceycl.setLayoutManager(new LinearLayoutManager(MainActivity.this, LinearLayoutManager.VERTICAL, false));
    }

    @Override
    public void onError(Throwable e) {
        Toast.makeText(MainActivity.this, "失败" + e.toString(), Toast.LENGTH_LONG).show();

    }

    @Override
    public void onNext(HomePage homePage) {
        MainActivity.this.homePage = homePage;
    }
});
上面注意到有一个类,这个类就是写我们的具体的接口的类,
public interface ServeceiApi {
  @GET("/from/headPageApi/headPage.do")
  Observable<HomePage> getHomePage();
    
}
好了,核心的代码就这些。

具体的代码已经提交到了github;

https://github.com/itwatch/Retrofit-recyclerview


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值