效果图
添加依赖
apply plugin: 'com.android.application' android { compileSdkVersion 26 buildToolsVersion "26.0.2" defaultConfig { applicationId "samsung.com.diyizhoumoni" minSdkVersion 19 targetSdkVersion 26 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5' compile 'com.facebook.fresco:fresco:0.12.0' compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4' //Retrofit2所需要的包 compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4' compile 'com.android.support:recyclerview-v7:26.0.0-alpha1' compile 'com.jakewharton:butterknife:8.5.1' compile 'com.bigkoo:convenientbanner:2.0.5' annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1' compile 'com.android.support:appcompat-v7:26.+' compile 'com.github.bumptech.glide:glide:3.7.0' compile 'com.android.support.constraint:constraint-layout:1.0.2' testCompile 'junit:junit:4.12' }



<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="samsung.com.diyizhoumoni"> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <application android:allowBackup="true" android:name=".App.MyApplication" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>



<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="samsung.com.diyizhoumoni.MainActivity"> <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/rcv"> </android.support.v7.widget.RecyclerView> </RelativeLayout>



<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <com.bigkoo.convenientbanner.ConvenientBanner xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/banner" android:layout_width="match_parent" android:layout_height="200dp" app:canLoop="true" > </com.bigkoo.convenientbanner.ConvenientBanner> </LinearLayout>



<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:fresco="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="热门活动" android:textSize="20dp" android:layout_marginLeft="5dp" android:id="@+id/text" android:padding="10dp" /> <com.facebook.drawee.view.SimpleDraweeView android:layout_width="310dp" android:layout_height="200dp" android:layout_below="@id/text" fresco:placeholderImage="@mipmap/ic_launcher_round" android:padding="10dp" android:id="@+id/img1"/> <com.facebook.drawee.view.SimpleDraweeView android:layout_width="310dp" android:layout_height="200dp" android:padding="10dp" android:layout_alignTop="@id/img1" android:layout_toRightOf="@id/img1" fresco:placeholderImage="@mipmap/ic_launcher_round" android:id="@+id/img2"/> </RelativeLayout>



<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:fresco="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="热门专题" android:textSize="25dp" android:layout_marginLeft="5dp" android:id="@+id/text" android:padding="10dp" /> <com.facebook.drawee.view.SimpleDraweeView android:padding="10dp" android:id="@+id/banner_img" android:layout_width="match_parent" android:layout_height="200dp" fresco:placeholderImage="@mipmap/ic_launcher_round" android:layout_below="@+id/text" android:layout_alignParentStart="true" /> <com.facebook.drawee.view.SimpleDraweeView android:layout_below="@id/banner_img" android:layout_width="200dp" android:layout_height="200dp" android:padding="10dp" android:layout_centerHorizontal="true" fresco:placeholderImage="@mipmap/ic_launcher_round" android:id="@+id/goods_img" /> <TextView android:layout_below="@id/goods_img" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="产品名称:" android:id="@+id/goods_name" android:padding="10dp" android:layout_centerHorizontal="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="产品星级:" android:padding="10dp" android:id="@+id/goods_star" android:layout_centerHorizontal="true" android:layout_below="@id/goods_name" /> <com.facebook.drawee.view.SimpleDraweeView android:layout_below="@id/goods_star" android:layout_width="200dp" android:layout_height="200dp" android:padding="10dp" android:layout_centerHorizontal="true" fresco:placeholderImage="@mipmap/ic_launcher_round" android:id="@+id/goods_img2" /> <TextView android:layout_below="@id/goods_img2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="产品名称:" android:id="@+id/goods_name2" android:padding="10dp" android:layout_centerHorizontal="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="产品星级:" android:padding="10dp" android:id="@+id/goods_star2" android:layout_centerHorizontal="true" android:layout_below="@id/goods_name2" /> </RelativeLayout>



package samsung.com.diyizhoumoni; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.util.Log; import butterknife.BindView; import butterknife.ButterKnife; import samsung.com.diyizhoumoni.Adapter.MyAdapter; import samsung.com.diyizhoumoni.Bean.MyRoot; import samsung.com.diyizhoumoni.CallBack.IView; import samsung.com.diyizhoumoni.Presenter.Presenter; public class MainActivity extends AppCompatActivity { @BindView(R.id.rcv) RecyclerView rcv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); Presenter presenter = new Presenter(new IView() { @Override public void Success(MyRoot myroot) { rcv.setLayoutManager(new LinearLayoutManager(MainActivity.this)); MyAdapter adapter = new MyAdapter(MainActivity.this, myroot); rcv.setAdapter(adapter); } @Override public void Failed(String message) { Log.d("zzz",message); } }); presenter.get("http://result.eolinker.com","umIPmfS6c83237d9c70c7c9510c9b0f97171a308d13b611","homepage"); } }



package samsung.com.diyizhoumoni; import retrofit2.Call; import retrofit2.http.GET; import retrofit2.http.Path; import retrofit2.http.Query; import samsung.com.diyizhoumoni.Bean.MyRoot; public interface MyEntity { @GET("/{path}") Call<MyRoot> get(@Path("path") String path, @Query("uri") String uri); }



package samsung.com.diyizhoumoni.Adapter; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import com.bigkoo.convenientbanner.ConvenientBanner; import com.bigkoo.convenientbanner.holder.CBViewHolderCreator; import com.bigkoo.convenientbanner.holder.Holder; import com.bigkoo.convenientbanner.listener.OnItemClickListener; import com.bumptech.glide.Glide; import com.facebook.drawee.view.SimpleDraweeView; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; import java.util.Arrays; import java.util.List; import samsung.com.diyizhoumoni.Bean.MyRoot; import samsung.com.diyizhoumoni.R; public class MyAdapter extends RecyclerView.Adapter implements OnItemClickListener { private Context contexts; private MyRoot root; private LayoutInflater inflater; private ImageLoader imageLoader; private List<String> networkImages; private String[] images = new String[4]; public MyAdapter(Context contexts, MyRoot root) { this.contexts = contexts; this.root = root; } private final int TYPE_BANNER =0; private final int TYPE_ACT = 1; private final int TYPE_NEWS = 2; @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View itemView = null; switch (viewType) { case TYPE_BANNER: itemView = View.inflate(contexts,R.layout.item_banner,null); return new ViewHolder1(itemView); case TYPE_ACT: itemView = View.inflate(contexts, R.layout.item_hotact,null); return new ViewHolder2(itemView); case TYPE_NEWS: itemView = View.inflate(contexts,R.layout.item_hotnews,null); return new ViewHolder3(itemView); } return null; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { int itemViewType = getItemViewType(position); switch (itemViewType) { case TYPE_BANNER: ViewHolder1 vh = (ViewHolder1) holder; for (int i = 0 ;i < 4;i++) { images[i] = root.getData().getAd1().get(i).getImage(); } imageLoader = ImageLoader.getInstance(); imageLoader.init(ImageLoaderConfiguration.createDefault(contexts)); networkImages = Arrays.asList(images); vh.banner.setPages(new CBViewHolderCreator<NetImageLoadHolder>() { @Override public NetImageLoadHolder createHolder() { return new NetImageLoadHolder(); } },networkImages) .setPointViewVisible(true) .startTurning(2000) .setPageIndicatorAlign(ConvenientBanner.PageIndicatorAlign.ALIGN_PARENT_RIGHT) .setOnItemClickListener(this) .setManualPageable(true); vh.itemView.setTag(position); break; case TYPE_ACT: ViewHolder2 vh2 = (ViewHolder2) holder; vh2.getImg1().setImageURI(root.getData().getActivityInfo().getActivityInfoList().get(0).getActivityImg()); vh2.getImg2().setImageURI(root.getData().getActivityInfo().getActivityInfoList().get(1).getActivityImg()); vh2.itemView.setTag(position); break; case TYPE_NEWS: ViewHolder3 vh3 = (ViewHolder3) holder; vh3.banner_img.setImageURI(root.getData().getSubjects().get(0).getImage()); vh3.goods_img.setImageURI(root.getData().getSubjects().get(0).getGoodsList().get(0).getGoods_img()); vh3.getName().setText(root.getData().getSubjects().get(0).getGoodsList().get(0).getGoods_name()); vh3.getStar().setText(root.getData().getSubjects().get(0).getGoodsList().get(0).getGoodsName()); vh3.goods_img2.setImageURI(root.getData().getSubjects().get(0).getGoodsList().get(1).getGoods_img()); vh3.getName2().setText(root.getData().getSubjects().get(0).getGoodsList().get(1).getGoods_name()); vh3.getStar2().setText(root.getData().getSubjects().get(0).getGoodsList().get(1).getGoodsName()); vh3.itemView.setTag(position); break; } } @Override public int getItemCount() { return 3; } @Override public int getItemViewType(int position) { switch (position) { case 0:return TYPE_BANNER; case 1:return TYPE_ACT; case 2:return TYPE_NEWS; } return -1; } class ViewHolder1 extends RecyclerView.ViewHolder { private View v; private ConvenientBanner banner; public ViewHolder1(View v) { super(v); banner = v.findViewById(R.id.banner); } public ConvenientBanner getBanner() { return banner; } } class ViewHolder2 extends RecyclerView.ViewHolder { private View v; private TextView text; private SimpleDraweeView img1; private SimpleDraweeView img2; public ViewHolder2(View v) { super(v); text = v.findViewById(R.id.text); img1 = v.findViewById(R.id.img1); img2 = v.findViewById(R.id.img2); } public SimpleDraweeView getImg1() { return img1; } public SimpleDraweeView getImg2() { return img2; } public TextView getText() { return text; } } class ViewHolder3 extends RecyclerView.ViewHolder { private View v; private TextView text; private SimpleDraweeView banner_img; private SimpleDraweeView goods_img; private TextView name; private TextView star; private SimpleDraweeView goods_img2; private TextView name2; private TextView star2; public ViewHolder3(View v) { super(v); text = v.findViewById(R.id.text); banner_img = v.findViewById(R.id.banner_img); goods_img = v.findViewById(R.id.goods_img); name = v.findViewById(R.id.goods_name); star = v.findViewById(R.id.goods_star); goods_img2 = v.findViewById(R.id.goods_img2); name2 = v.findViewById(R.id.goods_name2); star2 = v.findViewById(R.id.goods_star2); } public TextView getText() { return text; } public SimpleDraweeView getBanner_img() { return banner_img; } public SimpleDraweeView getGoods_img() { return goods_img; } public TextView getName() { return name; } public TextView getStar() { return star; } public SimpleDraweeView getGoods_img2() { return goods_img2; } public TextView getName2() { return name2; } public TextView getStar2() { return star2; } } public class NetImageLoadHolder implements Holder<String> { private ImageView image_lv; @Override public ImageView createView(Context context) { image_lv = new ImageView(context); image_lv.setScaleType(ImageView.ScaleType.FIT_XY); return image_lv; } @Override public void UpdateUI(Context context, int position, String data) { Glide.with(context).load(data).placeholder(R.mipmap.ic_launcher).into(image_lv); } } @Override public void onItemClick(int position) { Toast.makeText(contexts, "position:" + position, Toast.LENGTH_SHORT).show(); } }



package samsung.com.diyizhoumoni.App; import android.app.Application; import com.facebook.drawee.backends.pipeline.Fresco; public class MyApplication extends Application{ @Override public void onCreate() { super.onCreate(); Fresco.initialize(this); } }



package samsung.com.diyizhoumoni.Bean; import java.util.List; public class MyRoot { private int code; private String msg; private DataBean data; public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public DataBean getData() { return data; } public void setData(DataBean data) { this.data = data; } @Override public String toString() { return "MyRoot{" + "code=" + code + ", msg='" + msg + '\'' + ", data=" + data + '}'; } public static class DataBean { private ActivityInfoBean activityInfo; private boolean creditRecived; private GoodsSpreeActivityBean goodsSpreeActivity; private List<SubjectsBean> subjects; private List<Ad1Bean> ad1; private List<Ad5Bean> ad5; private List<Ad8Bean> ad8; private List<DefaultGoodsListBean> defaultGoodsList; public ActivityInfoBean getActivityInfo() { return activityInfo; } public void setActivityInfo(ActivityInfoBean activityInfo) { this.activityInfo = activityInfo; } public boolean isCreditRecived() { return creditRecived; } public void setCreditRecived(boolean creditRecived) { this.creditRecived = creditRecived; } public GoodsSpreeActivityBean getGoodsSpreeActivity() { return goodsSpreeActivity; } public void setGoodsSpreeActivity(GoodsSpreeActivityBean goodsSpreeActivity) { this.goodsSpreeActivity = goodsSpreeActivity; } public List<SubjectsBean> getSubjects() { return subjects; } public void setSubjects(List<SubjectsBean> subjects) { this.subjects = subjects; } public List<Ad1Bean> getAd1() { return ad1; } public void setAd1(List<Ad1Bean> ad1) { this.ad1 = ad1; } public List<Ad5Bean> getAd5() { return ad5; } public void setAd5(List<Ad5Bean> ad5) { this.ad5 = ad5; } public List<Ad8Bean> getAd8() { return ad8; } public void setAd8(List<Ad8Bean> ad8) { this.ad8 = ad8; } public List<DefaultGoodsListBean> getDefaultGoodsList() { return defaultGoodsList; } public void setDefaultGoodsList(List<DefaultGoodsListBean> defaultGoodsList) { this.defaultGoodsList = defaultGoodsList; } @Override public String toString() { return "DataBean{" + "activityInfo=" + activityInfo + ", creditRecived=" + creditRecived + ", goodsSpreeActivity=" + goodsSpreeActivity + ", subjects=" + subjects + ", ad1=" + ad1 + ", ad5=" + ad5 + ", ad8=" + ad8 + ", defaultGoodsList=" + defaultGoodsList + '}'; } public static class ActivityInfoBean { private String activityAreaDisplay; private List<ActivityInfoListBean> activityInfoList; public String getActivityAreaDisplay() { return activityAreaDisplay; } public void setActivityAreaDisplay(String activityAreaDisplay) { this.activityAreaDisplay = activityAreaDisplay; } public List<ActivityInfoListBean> getActivityInfoList() { return activityInfoList; } public void setActivityInfoList(List<ActivityInfoListBean> activityInfoList) { this.activityInfoList = activityInfoList; } @Override public String toString() { return "ActivityInfoBean{" + "activityAreaDisplay='" + activityAreaDisplay + '\'' + ", activityInfoList=" + activityInfoList + '}'; } public static class ActivityInfoListBean { private String id; private String activityImg; private String activityType; private String activityData; private String activityDataDetail; private String activityAreaDisplay; private String countDownEnable; private String remark; private int sort; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getActivityImg() { return activityImg; } public void setActivityImg(String activityImg) { this.activityImg = activityImg; } public String getActivityType() { return activityType; } public void setActivityType(String activityType) { this.activityType = activityType; } public String getActivityData() { return activityData; } public void setActivityData(String activityData) { this.activityData = activityData; } public String getActivityDataDetail() { return activityDataDetail; } public void setActivityDataDetail(String activityDataDetail) { this.activityDataDetail = activityDataDetail; } public String getActivityAreaDisplay() { return activityAreaDisplay; } public void setActivityAreaDisplay(String activityAreaDisplay) { this.activityAreaDisplay = activityAreaDisplay; } public String getCountDownEnable() { return countDownEnable; } public void setCountDownEnable(String countDownEnable) { this.countDownEnable = countDownEnable; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } public int getSort() { return sort; } public void setSort(int sort) { this.sort = sort; } @Override public String toString() { return "ActivityInfoListBean{" + "id='" + id + '\'' + ", activityImg='" + activityImg + '\'' + ", activityType='" + activityType + '\'' + ", activityData='" + activityData + '\'' + ", activityDataDetail='" + activityDataDetail + '\'' + ", activityAreaDisplay='" + activityAreaDisplay + '\'' + ", countDownEnable='" + countDownEnable + '\'' + ", remark='" + remark + '\'' + ", sort=" + sort + '}'; } } } public static class GoodsSpreeActivityBean { private String id; private String name; private String startDate; private String endDate; private String status; private String startSeconds; private String endSeconds; private String isChecked; private List<GoodsListBean> goodsList; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getStartDate() { return startDate; } public void setStartDate(String startDate) { this.startDate = startDate; } public String getEndDate() { return endDate; } public void setEndDate(String endDate) { this.endDate = endDate; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public String getStartSeconds() { return startSeconds; } public void setStartSeconds(String startSeconds) { this.startSeconds = startSeconds; } public String getEndSeconds() { return endSeconds; } public void setEndSeconds(String endSeconds) { this.endSeconds = endSeconds; } public String getIsChecked() { return isChecked; } public void setIsChecked(String isChecked) { this.isChecked = isChecked; } public List<GoodsListBean> getGoodsList() { return goodsList; } public void setGoodsList(List<GoodsListBean> goodsList) { this.goodsList = goodsList; } @Override public String toString() { return "GoodsSpreeActivityBean{" + "id='" + id + '\'' + ", name='" + name + '\'' + ", startDate='" + startDate + '\'' + ", endDate='" + endDate + '\'' + ", status='" + status + '\'' + ", startSeconds='" + startSeconds + '\'' + ", endSeconds='" + endSeconds + '\'' + ", isChecked='" + isChecked + '\'' + ", goodsList=" + goodsList + '}'; } public static class GoodsListBean { private String id; private String goodsSpreeId; private String goodsId; private String goodsName; private String goodsImg; private int marketPrice; private double activityPrice; private int salesRatio; private int stockNumber; private int releaseNumber; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getGoodsSpreeId() { return goodsSpreeId; } public void setGoodsSpreeId(String goodsSpreeId) { this.goodsSpreeId = goodsSpreeId; } public String getGoodsId() { return goodsId; } public void setGoodsId(String goodsId) { this.goodsId = goodsId; } public String getGoodsName() { return goodsName; } public void setGoodsName(String goodsName) { this.goodsName = goodsName; } public String getGoodsImg() { return goodsImg; } public void setGoodsImg(String goodsImg) { this.goodsImg = goodsImg; } public int getMarketPrice() { return marketPrice; } public void setMarketPrice(int marketPrice) { this.marketPrice = marketPrice; } public double getActivityPrice() { return activityPrice; } public void setActivityPrice(double activityPrice) { this.activityPrice = activityPrice; } public int getSalesRatio() { return salesRatio; } public void setSalesRatio(int salesRatio) { this.salesRatio = salesRatio; } public int getStockNumber() { return stockNumber; } public void setStockNumber(int stockNumber) { this.stockNumber = stockNumber; } public int getReleaseNumber() { return releaseNumber; } public void setReleaseNumber(int releaseNumber) { this.releaseNumber = releaseNumber; } @Override public String toString() { return "GoodsListBean{" + "id='" + id + '\'' + ", goodsSpreeId='" + goodsSpreeId + '\'' + ", goodsId='" + goodsId + '\'' + ", goodsName='" + goodsName + '\'' + ", goodsImg='" + goodsImg + '\'' + ", marketPrice=" + marketPrice + ", activityPrice=" + activityPrice + ", salesRatio=" + salesRatio + ", stockNumber=" + stockNumber + ", releaseNumber=" + releaseNumber + '}'; } } } public static class SubjectsBean { private String id; private String title; private String detail; private String image; private String start_time; private String end_time; private int show_number; private String state; private int sort; private String descImage; private String template; private String url; private String wapUrl; private List<GoodsListBeanX> goodsList; private List<String> goodsIdsList; private List<GoodsRelationListBean> goodsRelationList; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getDetail() { return detail; } public void setDetail(String detail) { this.detail = detail; } public String getImage() { return image; } public void setImage(String image) { this.image = image; } public String getStart_time() { return start_time; } public void setStart_time(String start_time) { this.start_time = start_time; } public String getEnd_time() { return end_time; } public void setEnd_time(String end_time) { this.end_time = end_time; } public int getShow_number() { return show_number; } public void setShow_number(int show_number) { this.show_number = show_number; } public String getState() { return state; } public void setState(String state) { this.state = state; } public int getSort() { return sort; } public void setSort(int sort) { this.sort = sort; } public String getDescImage() { return descImage; } public void setDescImage(String descImage) { this.descImage = descImage; } public String getTemplate() { return template; } public void setTemplate(String template) { this.template = template; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getWapUrl() { return wapUrl; } public void setWapUrl(String wapUrl) { this.wapUrl = wapUrl; } public List<GoodsListBeanX> getGoodsList() { return goodsList; } public void setGoodsList(List<GoodsListBeanX> goodsList) { this.goodsList = goodsList; } public List<String> getGoodsIdsList() { return goodsIdsList; } public void setGoodsIdsList(List<String> goodsIdsList) { this.goodsIdsList = goodsIdsList; } public List<GoodsRelationListBean> getGoodsRelationList() { return goodsRelationList; } public void setGoodsRelationList(List<GoodsRelationListBean> goodsRelationList) { this.goodsRelationList = goodsRelationList; } @Override public String toString() { return "SubjectsBean{" + "id='" + id + '\'' + ", title='" + title + '\'' + ", detail='" + detail + '\'' + ", image='" + image + '\'' + ", start_time='" + start_time + '\'' + ", end_time='" + end_time + '\'' + ", show_number=" + show_number + ", state='" + state + '\'' + ", sort=" + sort + ", descImage='" + descImage + '\'' + ", template='" + template + '\'' + ", url='" + url + '\'' + ", wapUrl='" + wapUrl + '\'' + ", goodsList=" + goodsList + ", goodsIdsList=" + goodsIdsList + ", goodsRelationList=" + goodsRelationList + '}'; } public static class GoodsListBeanX { private String id; private String goods_name; private double shop_price; private Double market_price; private String goods_img; private boolean reservable; private String efficacy; private int stock_number; private int restrict_purchase_num; private String goodsName; private String goodsImage; private String description; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getGoods_name() { return goods_name; } public void setGoods_name(String goods_name) { this.goods_name = goods_name; } public double getShop_price() { return shop_price; } public void setShop_price(double shop_price) { this.shop_price = shop_price; } public Double getMarket_price() { return market_price; } public void setMarket_price(Double market_price) { this.market_price = market_price; } public String getGoods_img() { return goods_img; } public void setGoods_img(String goods_img) { this.goods_img = goods_img; } public boolean isReservable() { return reservable; } public void setReservable(boolean reservable) { this.reservable = reservable; } public String getEfficacy() { return efficacy; } public void setEfficacy(String efficacy) { this.efficacy = efficacy; } public int getStock_number() { return stock_number; } public void setStock_number(int stock_number) { this.stock_number = stock_number; } public int getRestrict_purchase_num() { return restrict_purchase_num; } public void setRestrict_purchase_num(int restrict_purchase_num) { this.restrict_purchase_num = restrict_purchase_num; } public String getGoodsName() { return goodsName; } public void setGoodsName(String goodsName) { this.goodsName = goodsName; } public String getGoodsImage() { return goodsImage; } public void setGoodsImage(String goodsImage) { this.goodsImage = goodsImage; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } @Override public String toString() { return "GoodsListBeanX{" + "id='" + id + '\'' + ", goods_name='" + goods_name + '\'' + ", shop_price=" + shop_price + ", market_price=" + market_price + ", goods_img='" + goods_img + '\'' + ", reservable=" + reservable + ", efficacy='" + efficacy + '\'' + ", stock_number=" + stock_number + ", restrict_purchase_num=" + restrict_purchase_num + ", goodsName='" + goodsName + '\'' + ", goodsImage='" + goodsImage + '\'' + ", description='" + description + '\'' + '}'; } } public static class GoodsRelationListBean { private String id; private String subject_id; private String goods_id; private String goodsName; private String goodsImage; private String description; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getSubject_id() { return subject_id; } public void setSubject_id(String subject_id) { this.subject_id = subject_id; } public String getGoods_id() { return goods_id; } public void setGoods_id(String goods_id) { this.goods_id = goods_id; } public String getGoodsName() { return goodsName; } public void setGoodsName(String goodsName) { this.goodsName = goodsName; } public String getGoodsImage() { return goodsImage; } public void setGoodsImage(String goodsImage) { this.goodsImage = goodsImage; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } @Override public String toString() { return "GoodsRelationListBean{" + "id='" + id + '\'' + ", subject_id='" + subject_id + '\'' + ", goods_id='" + goods_id + '\'' + ", goodsName='" + goodsName + '\'' + ", goodsImage='" + goodsImage + '\'' + ", description='" + description + '\'' + '}'; } } } public static class Ad1Bean { private String id; private String createtime; private String lastupdatetime; private String image; private int ad_type; private int sort; private int position; private int enabled; private String createuser; private String lastupdateuser; private String ad_type_dynamic; private String ad_type_dynamic_data; private String ad_type_dynamic_detail; private String title; private String channelType; private String show_channel; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getCreatetime() { return createtime; } public void setCreatetime(String createtime) { this.createtime = createtime; } public String getLastupdatetime() { return lastupdatetime; } public void setLastupdatetime(String lastupdatetime) { this.lastupdatetime = lastupdatetime; } public String getImage() { return image; } public void setImage(String image) { this.image = image; } public int getAd_type() { return ad_type; } public void setAd_type(int ad_type) { this.ad_type = ad_type; } public int getSort() { return sort; } public void setSort(int sort) { this.sort = sort; } public int getPosition() { return position; } public void setPosition(int position) { this.position = position; } public int getEnabled() { return enabled; } public void setEnabled(int enabled) { this.enabled = enabled; } public String getCreateuser() { return createuser; } public void setCreateuser(String createuser) { this.createuser = createuser; } public String getLastupdateuser() { return lastupdateuser; } public void setLastupdateuser(String lastupdateuser) { this.lastupdateuser = lastupdateuser; } public String getAd_type_dynamic() { return ad_type_dynamic; } public void setAd_type_dynamic(String ad_type_dynamic) { this.ad_type_dynamic = ad_type_dynamic; } public String getAd_type_dynamic_data() { return ad_type_dynamic_data; } public void setAd_type_dynamic_data(String ad_type_dynamic_data) { this.ad_type_dynamic_data = ad_type_dynamic_data; } public String getAd_type_dynamic_detail() { return ad_type_dynamic_detail; } public void setAd_type_dynamic_detail(String ad_type_dynamic_detail) { this.ad_type_dynamic_detail = ad_type_dynamic_detail; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getChannelType() { return channelType; } public void setChannelType(String channelType) { this.channelType = channelType; } public String getShow_channel() { return show_channel; } public void setShow_channel(String show_channel) { this.show_channel = show_channel; } @Override public String toString() { return "Ad1Bean{" + "id='" + id + '\'' + ", createtime='" + createtime + '\'' + ", lastupdatetime='" + lastupdatetime + '\'' + ", image='" + image + '\'' + ", ad_type=" + ad_type + ", sort=" + sort + ", position=" + position + ", enabled=" + enabled + ", createuser='" + createuser + '\'' + ", lastupdateuser='" + lastupdateuser + '\'' + ", ad_type_dynamic='" + ad_type_dynamic + '\'' + ", ad_type_dynamic_data='" + ad_type_dynamic_data + '\'' + ", ad_type_dynamic_detail='" + ad_type_dynamic_detail + '\'' + ", title='" + title + '\'' + ", channelType='" + channelType + '\'' + ", show_channel='" + show_channel + '\'' + '}'; } } public static class Ad5Bean { private String id; private String image; private int ad_type; private int sort; private int position; private int enabled; private String ad_type_dynamic; private String ad_type_dynamic_data; private String ad_type_dynamic_detail; private String show_channel; private String title; private String url; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getImage() { return image; } public void setImage(String image) { this.image = image; } public int getAd_type() { return ad_type; } public void setAd_type(int ad_type) { this.ad_type = ad_type; } public int getSort() { return sort; } public void setSort(int sort) { this.sort = sort; } public int getPosition() { return position; } public void setPosition(int position) { this.position = position; } public int getEnabled() { return enabled; } public void setEnabled(int enabled) { this.enabled = enabled; } public String getAd_type_dynamic() { return ad_type_dynamic; } public void setAd_type_dynamic(String ad_type_dynamic) { this.ad_type_dynamic = ad_type_dynamic; } public String getAd_type_dynamic_data() { return ad_type_dynamic_data; } public void setAd_type_dynamic_data(String ad_type_dynamic_data) { this.ad_type_dynamic_data = ad_type_dynamic_data; } public String getAd_type_dynamic_detail() { return ad_type_dynamic_detail; } public void setAd_type_dynamic_detail(String ad_type_dynamic_detail) { this.ad_type_dynamic_detail = ad_type_dynamic_detail; } public String getShow_channel() { return show_channel; } public void setShow_channel(String show_channel) { this.show_channel = show_channel; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } @Override public String toString() { return "Ad5Bean{" + "id='" + id + '\'' + ", image='" + image + '\'' + ", ad_type=" + ad_type + ", sort=" + sort + ", position=" + position + ", enabled=" + enabled + ", ad_type_dynamic='" + ad_type_dynamic + '\'' + ", ad_type_dynamic_data='" + ad_type_dynamic_data + '\'' + ", ad_type_dynamic_detail='" + ad_type_dynamic_detail + '\'' + ", show_channel='" + show_channel + '\'' + ", title='" + title + '\'' + ", url='" + url + '\'' + '}'; } } public static class Ad8Bean { private String id; private String image; private int ad_type; private int sort; private int position; private int enabled; private String description; private String ad_type_dynamic; private String ad_type_dynamic_data; private String ad_type_dynamic_detail; private String show_channel; private String title; private GoodsBean goods; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getImage() { return image; } public void setImage(String image) { this.image = image; } public int getAd_type() { return ad_type; } public void setAd_type(int ad_type) { this.ad_type = ad_type; } public int getSort() { return sort; } public void setSort(int sort) { this.sort = sort; } public int getPosition() { return position; } public void setPosition(int position) { this.position = position; } public int getEnabled() { return enabled; } public void setEnabled(int enabled) { this.enabled = enabled; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getAd_type_dynamic() { return ad_type_dynamic; } public void setAd_type_dynamic(String ad_type_dynamic) { this.ad_type_dynamic = ad_type_dynamic; } public String getAd_type_dynamic_data() { return ad_type_dynamic_data; } public void setAd_type_dynamic_data(String ad_type_dynamic_data) { this.ad_type_dynamic_data = ad_type_dynamic_data; } public String getAd_type_dynamic_detail() { return ad_type_dynamic_detail; } public void setAd_type_dynamic_detail(String ad_type_dynamic_detail) { this.ad_type_dynamic_detail = ad_type_dynamic_detail; } public String getShow_channel() { return show_channel; } public void setShow_channel(String show_channel) { this.show_channel = show_channel; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public GoodsBean getGoods() { return goods; } public void setGoods(GoodsBean goods) { this.goods = goods; } @Override public String toString() { return "Ad8Bean{" + "id='" + id + '\'' + ", image='" + image + '\'' + ", ad_type=" + ad_type + ", sort=" + sort + ", position=" + position + ", enabled=" + enabled + ", description='" + description + '\'' + ", ad_type_dynamic='" + ad_type_dynamic + '\'' + ", ad_type_dynamic_data='" + ad_type_dynamic_data + '\'' + ", ad_type_dynamic_detail='" + ad_type_dynamic_detail + '\'' + ", show_channel='" + show_channel + '\'' + ", title='" + title + '\'' + ", goods=" + goods + '}'; } public static class GoodsBean { private int collect_count; private boolean reservable; private int restriction; private int restrict_purchase_num; private boolean is_coupon_allowed; private int allocated_stock; private int is_gift; public int getCollect_count() { return collect_count; } public void setCollect_count(int collect_count) { this.collect_count = collect_count; } public boolean isReservable() { return reservable; } public void setReservable(boolean reservable) { this.reservable = reservable; } public int getRestriction() { return restriction; } public void setRestriction(int restriction) { this.restriction = restriction; } public int getRestrict_purchase_num() { return restrict_purchase_num; } public void setRestrict_purchase_num(int restrict_purchase_num) { this.restrict_purchase_num = restrict_purchase_num; } public boolean isIs_coupon_allowed() { return is_coupon_allowed; } public void setIs_coupon_allowed(boolean is_coupon_allowed) { this.is_coupon_allowed = is_coupon_allowed; } public int getAllocated_stock() { return allocated_stock; } public void setAllocated_stock(int allocated_stock) { this.allocated_stock = allocated_stock; } public int getIs_gift() { return is_gift; } public void setIs_gift(int is_gift) { this.is_gift = is_gift; } @Override public String toString() { return "GoodsBean{" + "collect_count=" + collect_count + ", reservable=" + reservable + ", restriction=" + restriction + ", restrict_purchase_num=" + restrict_purchase_num + ", is_coupon_allowed=" + is_coupon_allowed + ", allocated_stock=" + allocated_stock + ", is_gift=" + is_gift + '}'; } } } public static class DefaultGoodsListBean { private String id; private String goods_name; private double shop_price; private Double market_price; private String goods_img; private boolean reservable; private String efficacy; private int stock_number; private int restrict_purchase_num; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getGoods_name() { return goods_name; } public void setGoods_name(String goods_name) { this.goods_name = goods_name; } public double getShop_price() { return shop_price; } public void setShop_price(double shop_price) { this.shop_price = shop_price; } public Double getMarket_price() { return market_price; } public void setMarket_price(Double market_price) { this.market_price = market_price; } public String getGoods_img() { return goods_img; } public void setGoods_img(String goods_img) { this.goods_img = goods_img; } public boolean isReservable() { return reservable; } public void setReservable(boolean reservable) { this.reservable = reservable; } public String getEfficacy() { return efficacy; } public void setEfficacy(String efficacy) { this.efficacy = efficacy; } public int getStock_number() { return stock_number; } public void setStock_number(int stock_number) { this.stock_number = stock_number; } public int getRestrict_purchase_num() { return restrict_purchase_num; } public void setRestrict_purchase_num(int restrict_purchase_num) { this.restrict_purchase_num = restrict_purchase_num; } @Override public String toString() { return "DefaultGoodsListBean{" + "id='" + id + '\'' + ", goods_name='" + goods_name + '\'' + ", shop_price=" + shop_price + ", market_price=" + market_price + ", goods_img='" + goods_img + '\'' + ", reservable=" + reservable + ", efficacy='" + efficacy + '\'' + ", stock_number=" + stock_number + ", restrict_purchase_num=" + restrict_purchase_num + '}'; } } } }



package samsung.com.diyizhoumoni.CallBack; import samsung.com.diyizhoumoni.Bean.MyRoot; public interface IView { void Success(MyRoot myroot); void Failed(String message); }



package samsung.com.diyizhoumoni.CallBack; import samsung.com.diyizhoumoni.Bean.MyRoot; public interface ResultBack { void Success(MyRoot myroot); void Failed(String message); }



package samsung.com.diyizhoumoni.Http; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; import retrofit2.Retrofit; import retrofit2.converter.gson.GsonConverterFactory; import samsung.com.diyizhoumoni.Bean.MyRoot; import samsung.com.diyizhoumoni.CallBack.ResultBack; import samsung.com.diyizhoumoni.MyEntity; public class MyRetrofit { private static volatile MyRetrofit instance; private final Retrofit retrofit; public MyRetrofit(String url){ retrofit = new Retrofit.Builder().baseUrl(url) .addConverterFactory(GsonConverterFactory.create()) .build(); } public static MyRetrofit getInstance(String url){ if(instance == null) { synchronized (MyRetrofit.class) { if(null == instance) { instance = new MyRetrofit(url); } } } return instance; } public void get(String path, String uri, final ResultBack resultBack){ MyEntity entity = retrofit.create(MyEntity.class); Call<MyRoot> call = entity.get(path, uri); call.enqueue(new Callback<MyRoot>() { @Override public void onResponse(Call<MyRoot> call, Response<MyRoot> response) { resultBack.Success(response.body()); } @Override public void onFailure(Call<MyRoot> call, Throwable t) { resultBack.Failed(t.getMessage()); } }); } }



package samsung.com.diyizhoumoni.Presenter; import samsung.com.diyizhoumoni.Bean.MyRoot; import samsung.com.diyizhoumoni.CallBack.IView; import samsung.com.diyizhoumoni.CallBack.ResultBack; import samsung.com.diyizhoumoni.Http.MyRetrofit; public class Presenter { private IView iview; public Presenter(IView iView){ this.iview = iView; } public void get(String baseUrl, String path, String uri){ MyRetrofit.getInstance(baseUrl).get(path, uri, new ResultBack() { @Override public void Success(MyRoot myroot) { iview.Success(myroot); } @Override public void Failed(String message) { iview.Failed(message); } }); } }