首先要导依赖:
compile 'com.squareup.retrofit2:retrofit:2.0.1' compile 'com.squareup.retrofit2:converter-gson:2.0.1' compile 'com.squareup.retrofit2:adapter-rxjava:2.0.1' compile 'io.reactivex:rxandroid:1.1.0' compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
主要方法 如一下代码:
private void getGoods() { Retrofit retrofit=new Retrofit.Builder().baseUrl(Api.GOOS_URL) .addConverterFactory(GsonConverterFactory.create())//支持Gsom解析 .addCallAdapterFactory(RxJavaCallAdapterFactory.create())//支持RxJava解析 .build(); //代理类 ApiService apiService = retrofit.create(ApiService.class); //得到被观察者 Observable<GoodsInfo> observable=apiService.getgoods(); //订阅者 observable.subscribeOn(Schedulers.io())//io线程做耗时操作 //一对一转换 .map(new Func1<GoodsInfo, GoodsInfo>() { @Override public GoodsInfo call(GoodsInfo goodsInfo) { return goodsInfo; } 主线程显示数据 }).observeOn(AndroidSchedulers.mainThread()) .subscribe(new Subscriber<GoodsInfo>() { //完整的 @Override public void onCompleted() { } //错误的 @Override public void onError(Throwable e) { } //下一个 @Override public void onNext(GoodsInfo goodsInfo) { List<List<String>> dropdown = goodsInfo.getDropdown(); List<String> strings = dropdown.get(0); String s = strings.get(0); Log.i("xxxxx",s+""); } }); }