做项目涉及到联网肯定是需要展示网络数据的,RecyclerView+Okhttp展示网络数据虽然很基础很简单,但想想还是写出来让初学者了解一下
### api ConstantApi 是一级接口
public class ConstantApi {
//banner
public static String URL_BANNER = "https://www.zhaoapi.cn/";
//设计师
public static String URL_SHEJISHI = "https://app.tuozhe8.com/api.php/api/";
### ApiService 是以一个GET/POST注解的二级接口以及方法
public interface ApiService {
//banner
@GET("quarter/getAd")
Flowable<BannerBean> getBanner();
//设计师
@GET("Lists/designer?token=&version=1.7")
Flowable<SheJIShiBean> getShejishi();
//列表
@GET("product/getCatagory")
Flowable<LieBiaoBean> getLieBiao();
//show展示
@GET("product/getProducts?pscid=1")
Flowable<ShowsBean> getShows();
}
### inien OnDataListener 是创建一个监听式的方法
public interface OnDataListener {
//banner
void onBannerData(BannerBean bannerBean);
//设计师
void onSheJishiData(SheJIShiBean sheJIShiBean);
//列表
void onLieBiaoData(LieBiaoBean lieBiaoBean);
}
### IMolder
public interface IMolder {
//banner
void getDataBanner(OnDataListener listener);
//设计师
void getDataShejishi(OnDataListener listener);
//列表
void getDataLieBiao(OnDataListener listener);
}
### MyMolder
public class MyMolder implements IMolder{
/* 1. Banner 轮播图
* 首页广告(轮播图+京东秒杀+最底部的为你推荐)
* https://www.zhaoapi.cn/ad/getAd
* */
@Override
public void getDataBanner(final OnDataListener listener) {
//创建日志拦截器
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(new HttpLoggingInterceptor.Logger() {
@Override
public void log(String message) {
Log.i("TAG","日志信息" + message);
}
});
interceptor.setLevel(HttpLoggingInterceptor.Level.B