model文件夹下//CartModel
public class CartModel { private CartModelCallback callback; public CartModel(CartModelCallback callback) { this.callback = callback; } public void getData(String url){ OkHttp3Util.doGet(url, new Callback() { @Override public void onFailure(Call call, IOException e) { callback.onCartModelResponseError(); } @Override public void onResponse(Call call, Response response) throws IOException { if(response.isSuccessful()){ Gson gson = new Gson(); CartBean cartBean = gson.fromJson(response.body().string(), CartBean.class); callback.onCartModelResponseSuccess(cartBean); } } }); } public void postData(String url, Map<String, String> params){ OkHttp3Util.doPost(url, params, new Callback() { @Override public void onFailure(Call call, IOException e) { callback.onCartModelResponseError(); } @Override public void onResponse(Call call, Response response) throws IOException { if(response.isSuccessful()){ Gson gson = new Gson(); CartBean cartBean = gson.fromJson(response.body().string(), CartBean.class); callback.onCartModelResponseSuccess(cartBean); } } }); } }
//OrderModel
public class OrderModel { private OrderModelCallback callback; public OrderModel(OrderModelCallback callback) { this.callback = callback; } public void getData(String url){ OkHttp3Util.doGet(url, new Callback() { @Override public void onFailure(Call call, IOException e) { callback.onOrderModelResponseError(); } @Override public void onResponse(Call call, Response response) throws IOException { if(response.isSuccessful()){ Gson gson = new Gson(); OrderBean orderBean = gson.fromJson(response.body().string(), OrderBean.class); callback.onOrderModelResponseSuccess(orderBean); } } }); } public void postData(String url, Map<String, String> params){ OkHttp3Util.doPost(url, params, new Callback() { @Override public void onFailure(Call call, IOException e) { callback.onOrderModelResponseError(); } @Override public void onResponse(Call call, Response response) throws IOException { if(response.isSuccessful()){ Gson gson = new Gson(); OrderBean orderBean = gson.fromJson(response.body().string(), OrderBean.class); callback.onOrderModelResponseSuccess(orderBean); } } }); } }
model文件夹中的jiekou文件夹下
//CartModelCallback
public interface CartModelCallback { void onCartModelResponseSuccess(CartBean cartBean); void onCartModelResponseError(); }
//OrderModelCallback
public interface OrderModelCallback { void onOrderModelResponseSuccess(OrderBean orderBean); void onOrderModelResponseError(); }
presenter文件夹下//CartPre
public class CartPre implements CartModelCallback { private CartModel cartModel; private CartPreCallBack callBack; public CartPre(CartPreCallBack callBack) { this.cartModel = new CartModel(this); this.callBack = callBack; } public void getData(String url){ cartModel.getData(url); } public void postData(String url, Map<String, String> params){ cartModel.postData(url, params); } @Override public void onCartModelResponseSuccess(CartBean cartBean) { callBack.onCartPreResponseSuccess(cartBean); } @Override public void onCartModelResponseError() { callBack.onCartPreResponseError(); } }
//OrderPre
public class OrderPre implements OrderModelCallback { private OrderModel orderModel; private OrderPreCallBack callBack; public OrderPre(OrderPreCallBack callBack) { this.orderModel = new OrderModel(this); this.callBack = callBack; } public void getData(String url){ orderModel.getData(url); } public void postData(String url, Map<String, String> params){ orderModel.postData(url, params); } @Override public void onOrderModelResponseSuccess(OrderBean orderBean) { callBack.onOrderPreResponseSuccess(orderBean); } @Override public void onOrderModelResponseError() { callBack.onOrderPreResponseError(); } }
presenter文件夹下jiekou文件夹下
//CartPreCallBack
public interface CartPreCallBack { void onCartPreResponseSuccess(CartBean cartBean); void onCartPreResponseError(); }
//OrderPreCallBack
public interface OrderPreCallBack { void onOrderPreResponseSuccess(OrderBean orderBean); void onOrderPreResponseError(); }
View//application文件夹下
//RookieApplication
public class RookieApplication extends Application{ @Override public void onCreate() { super.onCreate(); Fresco.initialize(this); } }
View//custom文件夹下
//NumberAddSubView
public class NumberAddSubView extends LinearLayout implements View.OnClickListener { private Button btn_sub; private Button btn_add; private TextView tv_num; private Context mContext; /** * 设置默认值 */ private int value = 1; private int minValue = 1; private int maxValue = 5; public NumberAddSubView(Context context) { this(context, null); } public NumberAddSubView(Context context, AttributeSet attrs) { this(context, attrs, 0); } public NumberAddSubView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); this.mContext = context; initView(context); //得到属性 if (attrs != null) { TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.NumberAddSubView); //TintTypedArray a = TintTypedArray.obtainStyledAttributes(context, attrs, R.styleable.NumberAddSubView, defStyleAttr, 0); int value = a.getInt(R.styleable.NumberAddSubView_value, 0); setValue(value); int maxValue = a.getInt(R.styleable.NumberAddSubView_maxValue, 0); setMaxValue(maxValue); int minValue = a.getInt(R.styleable.NumberAddSubView_minValue, 0); setMinValue(minValue); Drawable btnSubBackground = a.getDrawable(R.styleable.NumberAddSubView_btnSubBackground); if (btnSubBackground != null) btn_sub.setBackground(btnSubBackground); Drawable btnAddBackground = a.getDrawable(R.styleable.NumberAddSubView_btnAddBackground); if (btnAddBackground != null) btn_sub.setBackground(btnAddBackground); Drawable textViewBackground = a.getDrawable(R.styleable.NumberAddSubView_textViewBackground); if (textViewBackground != null) tv_num.setBackground(textViewBackground); a.recycle(); } } private void initView(Context context) { //第三个参数:把当前View加载到NumberAddSubView控件上 View.inflate(context, R.layout.number_add_sub_view, this); btn_sub = (Button) findViewById(R.id.btn_sub); btn_add = (Button) findViewById(R.id.btn_add); tv_num = (TextView) findViewById(R.id.tv_num); btn_sub.setOnClickListener(this); btn_add.setOnClickListener(this); } public int getValue() { String val = tv_num.getText().toString(); if (!TextUtils.isEmpty(val)) { value = Integer.parseInt(val); } return value; } public void setValue(int value) { this.value = value; tv_num.setText(value + ""); } public int getMinValue() { return minValue; } public void setMinValue(int minValue) { this.minValue = minValue; } public int getMaxValue() { return maxValue; } public void setMaxValue(int maxValue) { this.maxValue = maxValue; } @Override public void onClick(View v) { if (v.getId() == R.id.btn_sub) { // Toast.makeText(mContext,"减",Toast.LENGTH_SHORT).show(); subNum(); if (onButtonClickListenter != null) { onButtonClickListenter.onButtonSubClick(v, value); } } else if (v.getId() == R.id.btn_add) { // Toast.makeText(mContext,"加",Toast.LENGTH_SHORT).show(); addNum(); if (onButtonClickListenter != null) { onButtonClickListenter.onButtonAddClick(v, value); } } } /** * 减少数据 */ private void subNum() { if (value > minValue) { value = value - 1; tv_num.setText(value + ""); } } /** * 添加数据 */ private void addNum() { if (value < maxValue) { value = value + 1; tv_num.setText(value + ""); } } public interface OnButtonClickListenter { /** * 当增加按钮被点击的时候回调该方法 * * @param view * @param value */ public void onButtonAddClick(View view, int value); /** * 当减少按钮被点击的时候回调这个方法 * * @param view * @param value */ public void onButtonSubClick(View view, int value); } private OnButtonClickListenter onButtonClickListenter; public void setOnButtonClickListenter(OnButtonClickListenter onButtonClickListenter) { this.onButtonClickListenter = onButtonClickListenter; } }
bean文件夹下//CartBean
public class CartBean { private String msg; private String code; private List<DataBean> data; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public List<DataBean> getData() { return data; } public void setData(List<DataBean> data) { this.data = data; } public static class DataBean { private String sellerName; private String sellerid; private List<ListBean> list; private int selected; public int getSelected() { return selected; } public void setSelected(int selected) { this.selected = selected; } public String getSellerName() { return sellerName; } public void setSellerName(String sellerName) { this.sellerName = sellerName; } public String getSellerid() { return sellerid; } public void setSellerid(String sellerid) { this.sellerid = sellerid; } public List<ListBean> getList() { return list; } public void setList(List<ListBean> list) { this.list = list; } public static class ListBean { private double bargainPrice; private String createtime; private String detailUrl; private String images; private int num; private int pid; private double price; private int pscid; private int selected; private int sellerid; private String subhead; private String title; public double getBargainPrice() { return bargainPrice; } public void setBargainPrice(double bargainPrice) { this.bargainPrice = bargainPrice; } public String getCreatetime() { return createtime; } public void setCreatetime(String createtime) { this.createtime = createtime; } public String getDetailUrl() { return detailUrl; } public void setDetailUrl(String detailUrl) { this.detailUrl = detailUrl; } public String getImages() { return images; } public void setImages(String images) { this.images = images; } public int getNum() { return num; } public void setNum(int num) { this.num = num; } public int getPid() { return pid; } public void setPid(int pid) { this.pid = pid; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public int getPscid() { return pscid; } public void setPscid(int pscid) { this.pscid = pscid; } public int getSelected() { return selected; } public void setSelected(int selected) { this.selected = selected; } public int getSellerid() { return sellerid; } public void setSellerid(int sellerid) { this.sellerid = sellerid; } public String getSubhead() { return subhead; } public void setSubhead(String subhead) { this.subhead = subhead; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } } } }
//OrderBean
public class OrderBean { private String msg; private String code; private String page; private List<DataBean> data; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getPage() { return page; } public void setPage(String page) { this.page = page; } public List<DataBean> getData() { return data; } public void setData(List<DataBean> data) { this.data = data; } public static class DataBean { private String createtime; private int orderid; private double price; private int status; private String title; private int uid; public String getCreatetime() { return createtime; } public void setCreatetime(String createtime) { this.createtime = createtime; } public int getOrderid() { return orderid; } public void setOrderid(int orderid) { this.orderid = orderid; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public int getStatus() { return status; } public void setStatus(int status) { this.status = status; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public int getUid() { return uid; } public void setUid(int uid) { this.uid = uid; } } }