dsd

public class Constant {
    //轮播接口
    //http://172.17.8.100/small/commodity/v1/bannerShow
    public static final String LUNBO ="http://172.17.8.100/";
    //列表接口
    public static final String LIST ="http://gank.io/api/data/%E7%A6%8F%E5%88%A9/10/1";
    //列表
    public static final String List_URL = "http://mobile.bwstudent.com/small/commodity/v1/commodityList";
}




public class IBannerModelInfo implements IBannerContract.IBannerModel {
    @Override
    public void BannerModel(final CallBack callBack) {
        Retrofit build = new Retrofit.Builder()
                .baseUrl(Constant.LUNBO)
                .build();
        Service service = build.create(Service.class);
        Call<ResponseBody> call = service.getResponseData();

        call.enqueue(new Callback<ResponseBody>() {
            @Override
            public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
                try {
                    String responseData = response.body().string();

                    Log.i("zcq", "banner==============网络请求成功: "+responseData);
                    BannerBean bannerBean = new Gson().fromJson(responseData, BannerBean.class);
                    callBack.responseData(bannerBean);
                } catch (IOException e) {
                    e.printStackTrace();
                }


            }

            @Override
            public void onFailure(Call<ResponseBody> call, Throwable t) {
                Log.i("lhy","失败了");
            }
        });
    }
}

public class IBannerPresenterInfo implements IBannerContract.IBannerPresenter<IBannerContract.IBannerView> {


    private SoftReference<IBannerContract.IBannerView> iBannerViewSoftReference;
    private IBannerModelInfo iBannerModelInfo;
    IBannerContract.IBannerView iBannerView;

    @Override
    public void attach(IBannerContract.IBannerView iBannerView) {

        this.iBannerView = iBannerView;
        //软引用
        iBannerViewSoftReference = new SoftReference<>(iBannerView);
        //创建model
        iBannerModelInfo = new IBannerModelInfo();
    }

    @Override
    public void deach(IBannerContract.IBannerView iBannerView) {
        iBannerViewSoftReference.clear();
    }

    @Override
    public void requestData() {
        iBannerModelInfo.BannerModel(new IBannerContract.IBannerModel.CallBack() {
            @Override
            public void responseData(BannerBean bannerBean) {
                iBannerView.bannerData(bannerBean);
            }
        });
    }
}

public interface Service {

    @GET("small/commodity/v1/bannerShow")
    Call<ResponseBody> getResponseData();

    @GET("small/commodity/v1/commodityList")
    Call<ResponseBody> getResponseDataList();
}

//banner轮播图
        iBannerPresenterInfo = new IBannerPresenterInfo();
        iBannerPresenterInfo.attach(this);
        iBannerPresenterInfo.requestData();

        //列表展示
        iGoodPresenterInfo = new IGoodPresenterInfo();
        iGoodPresenterInfo.attach(this);
        iGoodPresenterInfo.requestData();

@Override
    public void bannerData(BannerBean bannerBean) {
        data = bannerBean.getResult();
        mBanners();
    }

    public void mBanners() {
        banner.setImageLoader(new ImageLoader() {
            @Override
            public void displayImage(Context context, Object path, ImageView imageView) {
                Glide.with(context).load(path).into(imageView);
            }
        });
        for (int i = 0; i < data.size(); i++) {
            String imageUrl = data.get(i).getImageUrl();
            string.add(imageUrl);
        }
        banner.setImages(string);
        banner.start();
    }

    @Override
    public void goodData(GoodBean goodBean) {
        List<GoodBean.ResultsBean> goodBeanResults = goodBean.getResults();
        GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 5);
        GoodAdapter goodAdapter = new GoodAdapter(R.layout.item_good, goodBeanResults);
        splb.setLayoutManager(gridLayoutManager);
        splb.setAdapter(goodAdapter);
        goodAdapter.notifyDataSetChanged();
    }


public class IGoodModelInfo implements IGoodContract.IGoodModel {
    @Override
    public void IGoodModel(final CallBack callBack) {
        OkGo.<String>get(Constant.LIST).execute(new StringCallback() {
            @Override
            public void onSuccess(Response<String> response) {
                String responseData = response.body().toString();
                Log.i("lhy", "goodData==============网络请求成功: "+responseData);
                GoodBean goodBean = new Gson().fromJson(responseData, GoodBean.class);
                callBack.responseData(goodBean);
            }
        });
    }
}


public class IGoodPresenterInfo implements IGoodContract.IGoodPresenter<IGoodContract.IGoodView> {

    IGoodContract.IGoodView iGoodView;
    private SoftReference<IGoodContract.IGoodView> iGoodViewSoftReference;
    private IGoodModelInfo iGoodModelInfo;

    @Override
    public void attach(IGoodContract.IGoodView iGoodView) {
        this.iGoodView=iGoodView;
        //软引用
        iGoodViewSoftReference = new SoftReference<>(iGoodView);
        //创建model层
        iGoodModelInfo = new IGoodModelInfo();
    }

    @Override
    public void deach(IGoodContract.IGoodView iGoodView) {
        iGoodViewSoftReference.clear();
    }

    @Override
    public void requestData() {
        iGoodModelInfo.IGoodModel(new IGoodContract.IGoodModel.CallBack() {
            @Override
            public void responseData(GoodBean goodBean) {
                iGoodView.goodData(goodBean);
            }
        });
    }
}

猜你喜欢

转载自blog.csdn.net/qq_43566895/article/details/87928214
dsd
ddd
asd
dfd
dds
dMd
DSF
dsa
ded
DOD