Retrofit依賴:java
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' compile 'io.reactivex:rxjava:1.1.0' compile 'io.reactivex:rxandroid:1.1.0'
建立數據庫實體類react
1建立接口android
public class Contant { //整體URL地址 public static final String URL = "http://112.124.22.238:8081/course_api/cniaoplay/featured2?p={page:0}"; //根路徑 public static final String BASE_URL = "http://112.124.22.238:8081/course_api/"; }
public interface ApiService { @GET public Observable<Lei> list(@Url String s); }
2調用方法 3參數拼接(網絡請求地址)數據庫
Retrofit retrofit = new Retrofit.Builder() .baseUrl(Contant.BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) .build(); ApiService service = retrofit.create(ApiService.class); Observable<Lei> list = service.list("cniaoplay/featured2?p={page:0}"); list.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Subscriber<Lei>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { } @Override public void onNext(Lei lei) { final List<Lei.DataBean.DatasBean> datas = lei.getData().getDatas(); xiaolist = new ArrayList<DatasBean>(); DatasBeanDao datasBeanDao = daosession.getDatasBeanDao(); List<DatasBean> datasBeen = datasBeanDao.loadAll(); if(datasBeen.size()<=0){ for (int i = 0; i < datas.size(); i++) { //數據庫的對象 DatasBean datasBean = new DatasBean(); datasBean.setName(datas.get(i).getDisplayName()); datasBean.setText(datas.get(i).getPackageName()); datasBean.setImg("http://file.market.xiaomi.com/mfc/thumbnail/png/w150q80/" + datas.get(i).getIcon()); //插入到數據庫 Main2Activity.this.datasBeanDao.insert(datasBean); //添加到數據庫 xiaolist.add(datasBean); } initDatas(); }else{ initDatas(); } } });