分类

utils包

Comm类

public class Comm implements Interceptor{
    @Override
    public Response intercept(Chain chain) throws IOException {
        Request request = chain.request();
        String method = request.method();


        if ("GET".equals(method)){
            String oldUrl = request.url().toString();
            String newUrl = oldUrl + "&source=android";
            request = new Request.Builder()
                    .url(newUrl)
                    .build();
        }else if ("POST".equals(method)){
            String path = request.url().toString();
            FormBody oldBody = (FormBody) request.body();


            FormBody.Builder body = new FormBody.Builder();


            for (int i = 0 ; i < oldBody.size() ; i++){
                String name = oldBody.name(i);
                String value = oldBody.value(i);
                body.add(name,value);
            }


            body.add("source","android");


            request = new Request.Builder()
                    .post(body.build())
                    .url(path)
                    .build();
        }
        return chain.proceed(request);
    }
}
 
OkHttpUtils类
public class OkHttpUtils {
    private static OkHttpUtils OK_HTTP_UTILS = null;
    private Handler handler = new Handler();


    private OkHttpUtils() {}


    public static OkHttpUtils getIndata(){
        if (OK_HTTP_UTILS == null){
            synchronized (OkHttpUtils.class){
                if (OK_HTTP_UTILS == null){
                    OK_HTTP_UTILS = new OkHttpUtils();
                }
            }
        }
        return OK_HTTP_UTILS;
    }


    public void doGet(String path, Map<String,String> map, final OnFinishListener onFinishListener){
        StringBuffer sb = new StringBuffer();
        sb.append(path);


        if (sb.indexOf("?") != -1){
            if (sb.indexOf("?") != sb.length()-1 ){
                sb.append("&");
            }
        }else {
            sb.append("?");
        }


        for (Map.Entry<String,String> m : map.entrySet()) {
            sb.append(m.getKey())
                    .append("=")
                    .append(m.getValue())
                    .append("&");
        }


        if (sb.lastIndexOf("&") != -1){
            sb.deleteCharAt(sb.length()-1);
        }


        OkHttpClient okHttpClient = new OkHttpClient.Builder()
                .addInterceptor(new Comm())
                .build();


        Request request = new Request.Builder()
                .get()
                .url(sb.toString())
                .build();


        Call call = okHttpClient.newCall(request);


        call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, final IOException e) {
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        onFinishListener.onFailed(e.getMessage());
                    }
                });
            }


            @Override
            public void onResponse(Call call, final Response response) throws IOException {
                if (response.isSuccessful()){
                    final String result = response.body().string();
                    handler.post(new Runnable() {
                        @Override
                        public void run() {
                            onFinishListener.onSuccess(result);
                        }
                    });
                }else {
                    handler.post(new Runnable() {
                        @Override
                        public void run() {
                            onFinishListener.onFailed(response.message());
                        }
                    });
                }
            }
        });
    }


    public void doPost(String path, Map<String,String> map, final OnFinishListener onFinishListener){
        OkHttpClient okHttpClient = new OkHttpClient.Builder()
                .addInterceptor(new Comm())
                .build();


        FormBody.Builder body = new FormBody.Builder();


        for (String key : map.keySet()) {
            body.add(key,map.get(key));
        }


        Request request = new Request.Builder()
                .post(body.build())
                .url(path)
                .build();


        Call call = okHttpClient.newCall(request);


        call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, final IOException e) {
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        onFinishListener.onFailed(e.getMessage());
                    }
                });
            }


            @Override
            public void onResponse(Call call, final Response response) throws IOException {
                if (response.isSuccessful()){
                    final String result = response.body().string();
                    handler.post(new Runnable() {
                        @Override
                        public void run() {
                            onFinishListener.onSuccess(result);
                        }
                    });
                }else {
                    handler.post(new Runnable() {
                        @Override
                        public void run() {
                            onFinishListener.onFailed(response.message());
                        }
                    });
                }
            }
        });
    }
}
OnFinishListener接口
public interface OnFinishListener {
    void onFailed(String str);


    void onSuccess(Object obj);
}
接口Constans类
public class Constans {
    public static final String HOST_NAME = "https://www.zhaoapi.cn";


    public static final String LEFT_URL = HOST_NAME + "/product/getCatagory";


    public static final String RIGHT_URL = HOST_NAME + "/product/getProductCatagory";
}

fragment包
public class Fragment2 extends Fragment implements IFragment02 {
    private Fragment02Persentere persentere;
    private Map<String, String> leftMap;
    private Map<String, String> rightMap;
    private LeftAdapter leftAdapter;
    private List<LeftSuperClass.DataBean> data;
    private RightAdapter rightAdapter;
    private RecyclerView mLeftRecycle;
    private RecyclerView mRightRecycle;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment02, container, false);

        initView(view);
        persentere = new Fragment02Persentere(this);
        persentere.left(Constans.LEFT_URL, leftMap);
        mLeftRecycle.setAdapter(leftAdapter);
        leftAdapter.setOnItemClickListner(new LeftAdapter.OnItemClickListner() {
            @Override
            public void onItemClick(View view, int cid) {
//                rightMap.clear();
                rightMap.put("cid",cid + "");
                persentere.right(Constans.RIGHT_URL,rightMap);
            }
        });
        mRightRecycle.setAdapter(rightAdapter);

        return view;
    }

    @Override
    public void onFailed(String str) {
        Toast.makeText(getActivity(), str, Toast.LENGTH_LONG).show();

    }

    @Override
    public void onLeftSuccess(List<LeftSuperClass.DataBean> list) {
        this.data = list;
        leftAdapter.setList(data);
        //右侧默认展示数据
        rightMap.put("cid",data.get(0).getCid() + "");
        persentere.right(Constans.RIGHT_URL,rightMap);
    }

    @Override
    public void onRightSuccess(List<RightSuperClass.DataBean> list) {
        rightAdapter.setList(list);
    }

    private void initView(View view) {
        mLeftRecycle = (RecyclerView) view.findViewById(R.id.left_recycle);
        mRightRecycle = (RecyclerView) view.findViewById(R.id.right_recycle);
        mLeftRecycle.setLayoutManager(new LinearLayoutManager(getActivity()));
       // mLeftRecycle.addItemDecoration(new DividerItemDecoration(this,DividerItemDecoration.VERTICAL));
        mRightRecycle.setLayoutManager(new LinearLayoutManager(getActivity()));
        //mRightRecycle.addItemDecoration(new DividerItemDecoration(this,DividerItemDecoration.VERTICAL));

        leftAdapter = new LeftAdapter(getActivity());
        rightAdapter = new RightAdapter(getActivity());
        leftMap = new HashMap<>();
        rightMap = new HashMap<>();
    }
}RightAdapter
IFragment02接口
public interface IFragment02 {
    void onFailed(String str);


    void onLeftSuccess(List<LeftSuperClass.DataBean> list);


    void onRightSuccess(List<RightSuperClass.DataBean> list);
}
model包
Fragment2Model类
public class Fragment2Model implements IFragment2Model{
    private OkHttpUtils okHttpUtils;


    @Override
    public void left(String path, Map<String, String> map, final IFragment02Persentere iTotalPresenter) {
        okHttpUtils = OkHttpUtils.getIndata();
        okHttpUtils.doGet(path, map, new OnFinishListener() {
            @Override
            public void onFailed(String str) {
                iTotalPresenter.onFailed(str);
            }


            @Override
            public void onSuccess(Object obj) {
                Gson gson = new Gson();
                LeftSuperClass leftSuperClass = gson.fromJson(obj.toString(), LeftSuperClass.class);
                iTotalPresenter.onLeftSuccess(leftSuperClass.getData());
            }
        });
    }


    @Override
    public void right(String path, Map<String, String> map, final IFragment02Persentere iTotalPresenter) {
        okHttpUtils = OkHttpUtils.getIndata();
        okHttpUtils.doGet(path, map, new OnFinishListener() {
            @Override
            public void onFailed(String str) {
                iTotalPresenter.onFailed(str);
            }


            @Override
            public void onSuccess(Object obj) {
                Gson gson = new Gson();
                RightSuperClass rightSuperClass = gson.fromJson(obj.toString(), RightSuperClass.class);
                iTotalPresenter.onRightSuccess(rightSuperClass.getData());
            }
        });
    }
}
IFragment2Model接口
public interface IFragment2Model {
    void left(String path, Map<String,String> map , IFragment02Persentere iTotalPresenter);


    void right(String path, Map<String,String> map , IFragment02Persentere iTotalPresenter);
}

Adapter包

LeftAdapter类
public class LeftAdapter extends RecyclerView.Adapter<LeftAdapter.ViewHolder> {
    private List<LeftSuperClass.DataBean> list;
    private Context context;
    private int index = 0;
    private OnItemClickListner onItemClickListner;


    public LeftAdapter(Context context) {
        this.context = context;
    }


    public void setList(List<LeftSuperClass.DataBean> list) {
        this.list = list;
        notifyDataSetChanged();
    }


    public void setOnItemClickListner(OnItemClickListner onItemClickListner) {
        this.onItemClickListner = onItemClickListner;
    }


    @Override
    public LeftAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.text_item, parent, false);
        ViewHolder holder = new ViewHolder(view);
        return holder;
    }


    @Override
    public void onBindViewHolder(LeftAdapter.ViewHolder holder, final int position) {
        if (index == position){
            holder.left_title.setTextColor(Color.RED);
            holder.left_title.setBackgroundColor(Color.parseColor("#eeeeee"));
        }else {
            holder.left_title.setTextColor(Color.BLACK);
            holder.left_title.setBackgroundColor(Color.WHITE);
        }
        holder.left_title.setText(list.get(position).getName());
        holder.left_title.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                onItemClickListner.onItemClick(v,list.get(position).getCid());
                index = position;
                notifyDataSetChanged();
            }
        });
    }


    @Override
    public int getItemCount() {
        return list != null ? list.size() : 0;
    }


    class ViewHolder extends RecyclerView.ViewHolder{


        private TextView left_title;


        public ViewHolder(View itemView) {
            super(itemView);
            left_title = itemView.findViewById(R.id.left_title);
        }
    }


    public interface OnItemClickListner{
        void onItemClick(View view, int cid);
    }
}
RightAdapter 类

public class RightAdapter extends RecyclerView.Adapter<RightAdapter.ViewHolder> {
    private List<RightSuperClass.DataBean> list;
    private Context context;
    private MyAdapter adapter;


    public RightAdapter(Context context) {
        this.context = context;
    }


    public void setList(List<RightSuperClass.DataBean> list) {
        this.list = list;
        notifyDataSetChanged();
    }


    @Override
    public RightAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.group_item, parent, false);
        ViewHolder holder = new ViewHolder(view);
        return holder;
    }


    @Override
    public void onBindViewHolder(RightAdapter.ViewHolder holder, int position) {


        holder.textView.setText(list.get(position).getName());
        Log.i("TAG",list.get(position).getName()+"-----------------------");
//        List<RightSuperClass.DataBean.ListBean> list = this.list.get(position).getList();
        holder.recyclerView.setLayoutManager(new GridLayoutManager(context,3));
        adapter = new MyAdapter(context);
        adapter.setList(list.get(position).getList());
        holder.recyclerView.setAdapter(adapter);

        //跳转
        adapter.setCallBackPos(new MyAdapter.CallBackPos() {
            @Override
            public void callBack(int pos) {
                //得到点击条目的下标

                //跳转到另一个页面
              context.startActivity(new Intent(context,Main2Activity.class));
            }
        });




    }






    @Override
    public int getItemCount() {
        return list != null ? list.size() : 0;

    }


    class ViewHolder extends RecyclerView.ViewHolder{


        public TextView textView;
        public RecyclerView recyclerView;


        public ViewHolder(View itemView) {
            super(itemView);
            textView = itemView.findViewById(R.id.item_title);
            recyclerView = itemView.findViewById(R.id.item_list);

        }
    }
}
MyAdapter 类
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
    private List<RightSuperClass.DataBean.ListBean> list;
    private Context context;


    public MyAdapter(Context context) {
        this.context = context;
    }


    public void setList(List<RightSuperClass.DataBean.ListBean> list) {
        this.list = list;
        notifyDataSetChanged();
        Log.e("=======","--"+list.size());
    }


    @Override
    public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.item, parent, false);
        final ViewHolder holder = new ViewHolder(view);
        view.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int position = holder.getLayoutPosition();
                callBackPos.callBack(position);
            }
        });
        return holder;
    }


    @Override
    public void onBindViewHolder(MyAdapter.ViewHolder holder, int position) {
        holder.textView.setText(list.get(position).getName());

     //  ImageLoader.getInstance().displayImage(list.get(position).getIcon(),holder.img);
        Glide.with(context).load(list.get(position).getIcon()).into(holder.img);
    }


    @Override
    public int getItemCount() {
        return list.size();

    }


    class ViewHolder extends RecyclerView.ViewHolder{


        public TextView textView;
        public ImageView img;


        public ViewHolder(View itemView) {
            super(itemView);
            textView = itemView.findViewById(R.id.mytitle);
            img = itemView.findViewById(R.id.myimg);
        }
    }


    public interface CallBackPos{
        void callBack(int pos);

    }
    CallBackPos callBackPos;

    public void setCallBackPos(CallBackPos callBackPos) {
        this.callBackPos = callBackPos;

    }
}
bean包
LeftSuperClass
public class LeftSuperClass {
    /**
     * msg :
     * code : 0
     * data : [{"cid":1,"createtime":"2017-10-10T19:41:39","icon":"http://120.27.23.105/images/category/shop.png","ishome":1,"name":"京东超市"},{"cid":2,"createtime":"2017-10-10T19:41:39","icon":"http://120.27.23.105/images/category/qqg.png","ishome":1,"name":"全球购"},{"cid":3,"createtime":"2017-10-10T19:45:11","icon":"http://120.27.23.105/images/category/phone.png","ishome":1,"name":"手机数码"},{"cid":5,"createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/man.png","ishome":1,"name":"男装"},{"cid":6,"createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/girl.png","ishome":1,"name":"女装"},{"cid":7,"createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/manshoe.png","ishome":1,"name":"男鞋"},{"cid":8,"createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/girlshoe.png","ishome":1,"name":"女鞋"},{"cid":9,"createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/shirt.png","ishome":1,"name":"内衣配饰"},{"cid":10,"createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/bag.png","ishome":1,"name":"箱包手袋"},{"cid":11,"createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/beauty.png","ishome":1,"name":"美妆个护"},{"cid":12,"createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/jewel.png","ishome":1,"name":"钟表珠宝"},{"cid":13,"createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/luxury.png","ishome":1,"name":"奢侈品"},{"cid":14,"createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/computer.png","ishome":1,"name":"电脑办公"},{"cid":15,"createtime":"2017-09-29T10:13:48","icon":"http://120.27.23.105/images/icon.png","ishome":0,"name":"家用电器"},{"cid":16,"createtime":"2017-09-29T10:13:48","icon":"http://120.27.23.105/images/icon.png","ishome":0,"name":"食品生鲜"},{"cid":17,"createtime":"2017-09-29T10:13:48","icon":"http://120.27.23.105/images/icon.png","ishome":0,"name":"酒水饮料"},{"cid":18,"createtime":"2017-09-29T10:13:48","icon":"http://120.27.23.105/images/icon.png","ishome":0,"name":"母婴童装"},{"cid":19,"createtime":"2017-09-29T10:13:48","icon":"http://120.27.23.105/images/icon.png","ishome":0,"name":"玩具乐器"},{"cid":20,"createtime":"2017-09-29T10:13:48","icon":"http://120.27.23.105/images/icon.png","ishome":0,"name":"医药保健"}]
     */


    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 {
        /**
         * cid : 1
         * createtime : 2017-10-10T19:41:39
         * icon : http://120.27.23.105/images/category/shop.png
         * ishome : 1
         * name : 京东超市
         */


        private int cid;
        private String createtime;
        private String icon;
        private int ishome;
        private String name;


        public int getCid() {
            return cid;
        }


        public void setCid(int cid) {
            this.cid = cid;
        }


        public String getCreatetime() {
            return createtime;
        }


        public void setCreatetime(String createtime) {
            this.createtime = createtime;
        }


        public String getIcon() {
            return icon;
        }


        public void setIcon(String icon) {
            this.icon = icon;
        }


        public int getIshome() {
            return ishome;
        }


        public void setIshome(int ishome) {
            this.ishome = ishome;
        }


        public String getName() {
            return name;
        }


        public void setName(String name) {
            this.name = name;
        }
    }
}
RightSuperClass
public class RightSuperClass {
    /**
     * msg : 获取子分类成功
     * code : 0
     * data : [{"cid":"3","list":[{"icon":"http://120.27.23.105/images/icon.png","name":"耳机/耳麦","pcid":10,"pscid":61},{"icon":"http://120.27.23.105/images/icon.png","name":"音箱/音响","pcid":10,"pscid":62},{"icon":"http://120.27.23.105/images/icon.png","name":"MP3/MP4","pcid":10,"pscid":63},{"icon":"http://120.27.23.105/images/icon.png","name":"便携/无线音箱","pcid":10,"pscid":64},{"icon":"http://120.27.23.105/images/icon.png","name":"麦克风","pcid":10,"pscid":65}],"name":"影音娱乐","pcid":"10"},{"cid":"3","list":[{"icon":"http://120.27.23.105/images/icon.png","name":"游戏手机","pcid":11,"pscid":66},{"icon":"http://120.27.23.105/images/icon.png","name":"拍照手机","pcid":11,"pscid":67},{"icon":"http://120.27.23.105/images/icon.png","name":"大屏手机","pcid":11,"pscid":68},{"icon":"http://120.27.23.105/images/icon.png","name":"老人机","pcid":11,"pscid":69},{"icon":"http://120.27.23.105/images/icon.png","name":"对讲机","pcid":11,"pscid":70}],"name":"手机通讯","pcid":"11"},{"cid":"3","list":[{"icon":"http://120.27.23.105/images/icon.png","name":"蓝牙耳机","pcid":12,"pscid":71},{"icon":"http://120.27.23.105/images/icon.png","name":"移动电源","pcid":12,"pscid":72},{"icon":"http://120.27.23.105/images/icon.png","name":"苹果周边","pcid":12,"pscid":73},{"icon":"http://120.27.23.105/images/icon.png","name":"手机耳机","pcid":12,"pscid":74},{"icon":"http://120.27.23.105/images/icon.png","name":"充电器","pcid":12,"pscid":75},{"icon":"http://120.27.23.105/images/icon.png","name":"数据线","pcid":12,"pscid":76},{"icon":"http://120.27.23.105/images/icon.png","name":"手机电池","pcid":12,"pscid":77},{"icon":"http://120.27.23.105/images/icon.png","name":"保护套","pcid":12,"pscid":78}],"name":"手机配件","pcid":"12"},{"cid":"3","list":[{"icon":"http://120.27.23.105/images/icon.png","name":"单反相机","pcid":13,"pscid":79},{"icon":"http://120.27.23.105/images/icon.png","name":"单电/微单相机","pcid":13,"pscid":80},{"icon":"http://120.27.23.105/images/icon.png","name":"拍立得","pcid":13,"pscid":81},{"icon":"http://120.27.23.105/images/icon.png","name":"数码相机","pcid":13,"pscid":82},{"icon":"http://120.27.23.105/images/icon.png","name":"摄像机","pcid":13,"pscid":83},{"icon":"http://120.27.23.105/images/icon.png","name":"镜头","pcid":13,"pscid":84}],"name":"摄影摄像","pcid":"13"}]
     */


    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 {
        /**
         * cid : 3
         * list : [{"icon":"http://120.27.23.105/images/icon.png","name":"耳机/耳麦","pcid":10,"pscid":61},{"icon":"http://120.27.23.105/images/icon.png","name":"音箱/音响","pcid":10,"pscid":62},{"icon":"http://120.27.23.105/images/icon.png","name":"MP3/MP4","pcid":10,"pscid":63},{"icon":"http://120.27.23.105/images/icon.png","name":"便携/无线音箱","pcid":10,"pscid":64},{"icon":"http://120.27.23.105/images/icon.png","name":"麦克风","pcid":10,"pscid":65}]
         * name : 影音娱乐
         * pcid : 10
         */


        private String cid;
        private String name;
        private String pcid;
        private List<ListBean> list;


        public String getCid() {
            return cid;
        }


        public void setCid(String cid) {
            this.cid = cid;
        }


        public String getName() {
            return name;
        }


        public void setName(String name) {
            this.name = name;
        }


        public String getPcid() {
            return pcid;
        }


        public void setPcid(String pcid) {
            this.pcid = pcid;
        }


        public List<ListBean> getList() {
            return list;
        }


        public void setList(List<ListBean> list) {
            this.list = list;
        }


        public static class ListBean {
            /**
             * icon : http://120.27.23.105/images/icon.png
             * name : 耳机/耳麦
             * pcid : 10
             * pscid : 61
             */


            private String icon;
            private String name;
            private int pcid;
            private int pscid;


            public String getIcon() {
                return icon;
            }


            public void setIcon(String icon) {
                this.icon = icon;
            }


            public String getName() {
                return name;
            }


            public void setName(String name) {
                this.name = name;
            }


            public int getPcid() {
                return pcid;
            }


            public void setPcid(int pcid) {
                this.pcid = pcid;
            }


            public int getPscid() {
                return pscid;
            }


            public void setPscid(int pscid) {
                this.pscid = pscid;
            }
        }
    }
}
Xq
public class Xq {

    /**
     * msg : 请求成功
     * code : 0
     * data : [{"bargainPrice":111.99,"createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":1,"pid":1,"price":118,"pscid":1,"salenum":0,"sellerid":17,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":1,"pid":2,"price":299,"pscid":1,"salenum":999,"sellerid":18,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":0,"pid":3,"price":198,"pscid":1,"salenum":1234,"sellerid":19,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-14T21:48:08","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":2,"pid":4,"price":999,"pscid":1,"salenum":356,"sellerid":20,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":1,"pid":5,"price":88.99,"pscid":1,"salenum":678,"sellerid":21,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":0,"pid":6,"price":7.99,"pscid":1,"salenum":234,"sellerid":22,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":1,"pid":7,"price":120.01,"pscid":1,"salenum":1266,"sellerid":23,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":0,"pid":8,"price":324,"pscid":1,"salenum":3000,"sellerid":1,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-14T21:48:08","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":2,"pid":9,"price":78.99,"pscid":1,"salenum":2356,"sellerid":2,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":1,"pid":10,"price":555.55,"pscid":1,"salenum":0,"sellerid":3,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"}]
     * page : 1
     */

    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 {
        /**
         * bargainPrice : 111.99
         * createtime : 2017-10-14T21:39:05
         * detailUrl : https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends
         * images : https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg
         * itemtype : 1
         * pid : 1
         * price : 118.0
         * pscid : 1
         * salenum : 0
         * sellerid : 17
         * subhead : 每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下
         * title : 北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g
         */

        private double bargainPrice;
        private String createtime;
        private String detailUrl;
        private String images;
        private int itemtype;
        private int pid;
        private double price;
        private int pscid;
        private int salenum;
        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 getItemtype() {
            return itemtype;
        }

        public void setItemtype(int itemtype) {
            this.itemtype = itemtype;
        }

        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 getSalenum() {
            return salenum;
        }

        public void setSalenum(int salenum) {
            this.salenum = salenum;
        }

        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;
        }
    }
}
商品详情
view包
Main2Activity
public class Main2Activity extends AppCompatActivity implements IMain2Activity {

    private ImageView mImgaView;
    /**
     * hhh
     */
    private TextView mTextView;
    /**
     * 加入购物车
     */
    private Button mButton;
    private List<Xq.DataBean> datas;
    private Banner mBanners;
    private List<String> list;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

        initView();
        initChen();


    }

    private void initChen() {

        Presenter2 presenter2 = new Presenter2(this);
        presenter2.getData();

    }

    private void initView() {
        //mImgaView = (ImageView) findViewById(R.id.imga_view);
        mTextView = (TextView) findViewById(R.id.text_view);
        mButton = (Button) findViewById(R.id.button);

        mBanners = (Banner) findViewById(R.id.banners);
        list= new ArrayList<>();




        mButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
//                Intent intent = new Intent(Main2Activity.this,Main3Activity.class);
//                startActivity(intent);
                Toast.makeText(Main2Activity.this, "成功加入购物车", Toast.LENGTH_SHORT).show();

            }
        });
    }

    @Override
    public void OnSuccess(List<Xq.DataBean> datas) {
        this.datas = datas;
        //创建适配器
        mTextView.setText(datas.get(0).getTitle());
        Log.e("UUUUU", "hhhhh" + datas.size());
        String images = datas.get(0).getImages();
        String[] urls = images.split("\\|");
        for (int i = 0;i<urls.length;i++){
            list.add(urls[i]);
        }



        mBanners.setImages(list);
        mBanners.setDelayTime(2000);
        mBanners.setImageLoader(new ImageLoader() {
            @Override
            public void displayImage(Context context, Object path, ImageView imageView) {
                Glide.with(context).load(path).into(imageView);

            }
        });
        mBanners.setIndicatorGravity(BannerConfig.CENTER);
        mBanners.start();



    }

    @Override
    public void OnFailde(String s) {

    }

}
IMain2Activity
public interface IMain2Activity {
    void OnSuccess( List<Xq.DataBean> datas);
    void OnFailde(String s);


}
Presenter2类
public class Presenter2 implements IPresenter2{

    IMain2Activity iMain2Activity;
    Model2 model2;

    public Presenter2(IMain2Activity iMain2Activity) {
        this.iMain2Activity = iMain2Activity;
        this.model2=new Model2();
    }

    @Override
    public void OnSuccess( List<Xq.DataBean> datas) {
        if (iMain2Activity!=null){
            iMain2Activity.OnSuccess(datas);
        }

    }

    @Override
    public void OnFailde(String s) {
        if (iMain2Activity!=null){
            iMain2Activity.OnFailde(s.toString());
        }

    }

    @Override
    public void getData() {
        model2.getData(this);

    }

    @Override
    public void youhua() {

    }
}
IPresenter2接口
public interface IPresenter2 {

    void OnSuccess( List<Xq.DataBean> datas);
    void OnFailde(String s);
    void getData();
    void youhua();

}
model包
ublic class Model2 implements IModel2{
    private Handler handler=new Handler();
    private String url="https://www.zhaoapi.cn/product/getProducts?pscid=1";
    @Override
    public void getData(final IPresenter2 iPresenter2) {


        OkHttpClient client = new OkHttpClient();
        Request request=new Request.Builder()
                .get()
                .url(url)
                .build();
        Call call = client.newCall(request);
        call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                if (iPresenter2!=null){
                    iPresenter2.OnFailde(e.getMessage());
                }
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                    if (response.isSuccessful()){
                        final String res = response.body().string();
                        handler.post(new Runnable() {
                            @Override
                            public void run() {
                                Gson gson = new Gson();
                                Xq xq = gson.fromJson(res, Xq.class);
                                List<Xq.DataBean> datas = xq.getData();
                                iPresenter2.OnSuccess(datas);

                            }
                        });

                    }
            }
        });



    }
}
IModel2接口
public interface IModel2 {
    void getData(IPresenter2 iPresenter2);

}








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值