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);
}
});
}
}
//webview
wv.loadUrl(“file:///android_asset/news.html”);
wv.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});