package com.example.retroft_rxjava_lianxi;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import com.example.retroft_rxjava_lianxi.api.Api;
import com.example.retroft_rxjava_lianxi.bean.api.Bean;
import com.example.retroft_rxjava_lianxi.inter.Apiserver;
import java.util.List;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava.RxJavaCallAdapterFactory;
import retrofit2.converter.gson.GsonConverterFactory;
import rx.Observable;
import rx.Observer;
import rx.Scheduler;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Shoumyget();
}
private void Shoumyget() {
//创建Retrofit
Retrofit retrofit = new Retrofit.Builder().baseUrl(Api.BASE_PATH).addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())//支持Rxjava
.build();
//得到interface的api
Apiserver apiserver = retrofit.create(Apiserver.class);
//得到apiserver里面定义的方法
Observable<Bean> shoumyget = apiserver.Shoumyget();
shoumyget.subscribeOn(Schedulers.io())//指定IO做耗时操作
.observeOn(AndroidSchedulers.mainThread())//指定更新UI在主线程
.subscribe(new Observer<Bean>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(Bean bean) {
List<Bean.AdsBean> list = bean.getAds();
for (int i = 0; i < list.size(); i++) {
Bean.AdsBean adsBean = list.get(i);
String s = adsBean.getGonggaoren();
Log.i("sss",s);
}
}
});
}
}
Retrofit结合RxJava1.x使用
最新推荐文章于 2018-10-10 19:05:56 发布