RXJAVA的使用

导入依赖
implementation ‘io.reactivex.rxjava2:rxandroid:2.0.2’
implementation ‘io.reactivex.rxjava2:rxjava:2.0.2’
implementation ‘com.squareup.retrofit2:adapter-rxjava2:2.3.0’

public interface Api {
// @GET("?前面的那段没有重复的网址")
@GET(“product/getProducts”)
Observable《UserBean》 getCall(@Query(“pscid”) int id);
}

需要在请求网络的工具类里添加一句话
Retrofit retrofit = new Retrofit.Builder().baseUrl(Constant.CONSTANT_GET)
.addConverterFactory(GsonConverterFactory.create())
//添加这一句话
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.client(okHttpClient)
.build();

Presenter中的代码
//使用网络工具从网上请求数据
Observable《UserBean》 call = HttpUtil.getHttpUtilInstence().apiClent.getCall(1);//使用工具类
call.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer《UserBean》() {
@Override
public void onSubscribe(Disposable d) {

}

//这就是从网上请求下来的 数据
@Override
public void onNext(UserBean userBean) {
Log.i(“aaa”,userBean.getData().get(0).getTitle());
}

@Override
public void one rror(Throwable e) {

}

@Override
public void onComplete() {

}

});

上一篇:DataBinding的用法


下一篇:微信小程序体验(1):携程酒店机票火车票