Retrofit網絡請求

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();
        }
    }
});
相關文章
相關標籤/搜索