1,首先在使用前添加依赖
implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
implementation 'io.reactivex.rxjava2:rxjava:2.x.y'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'//转换器,请求结果转换成Model
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'//配合Rxjava 使用
2,创建retrofit
Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://www.qubaobei.com/ios/cf/") .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) //retrofit关联rxjava .build();
3,创建对应要解析的Bean类
4,再写一个接口
public interface Service { //http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=20&page=1 @GET("dish_list.php") Observable<JavaBean> getResult(@Query("stage_id")int stage_id, @Query("limit")int limit, @Query("page")int page); }
5,记得添加对应的权限
<uses-permission android:name="android.permission.INTERNET"></uses-permission> Service service = retrofit.create(Service.class); Observable<JavaBean> result = service.getResult(1, 20, 1); result.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer<JavaBean>() { @Override public void onSubscribe(Disposable d) { } @Override public void onNext(JavaBean javaBean) { List<JavaBean.DataBean> data = javaBean.getData(); String title = data.get(0).getTitle() } @Override public void onError(Throwable e) { Log.i("llalalalal", "onNext: "+e); } @Override public void onComplete() { } });