京东分类

本文将探讨京东电商平台的商品分类体系,包括其如何组织类别、子类别以及商品的层级关系,同时分析这种分类方式对用户体验和后台管理的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//主Main布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/type_rvleft"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="2"></android.support.v7.widget.RecyclerView>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginLeft="20dp"
        android:layout_weight="1"
        android:orientation="vertical">

        <ImageView
            android:id="@+id/iv"
            android:layout_width="match_parent"
            android:background="@drawable/w1"
            android:layout_height="120dp" />

        <android.support.v7.widget.RecyclerView
            android:id="@+id/type_rvright"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"></android.support.v7.widget.RecyclerView>
    </LinearLayout>

</LinearLayout>
 
//classleft_item.xml
 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
    android:id="@+id/tv"
    android:text="213"
    android:gravity="center"
    android:layout_width="match_parent"
    android:layout_height="50dp" />
</LinearLayout>
 
//classright_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
<ScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <TextView
                android:layout_width="4dp"
                android:layout_height="30dp"
                android:background="@color/colorAccent" />

            <TextView
                android:id="@+id/tv"
                android:layout_width="wrap_content"
                android:layout_height="50dp"
                android:layout_gravity="center_vertical"
                android:layout_marginLeft="20dp"
                android:enabled="true"
                android:text="234"
                android:textSize="22sp" />
        </RelativeLayout>

        <android.support.v7.widget.RecyclerView
            android:id="@+id/item_rlv"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </LinearLayout>

</ScrollView>
</LinearLayout>

//classright_item2.xml
 
 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:padding="15dp"
    android:orientation="vertical">
    <ImageView
        android:id="@+id/iv"
        android:layout_width="70dp"
        android:layout_height="70dp" />
    <TextView
        android:id="@+id/tv"
        android:text="123"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

//model
 
public interface ClassLeftModel {
    void classleft(OnNetListener onNetListener);
}
 
 
public interface ClassRightModel {
    void classright1(OnNetListener onNetListener);
//    void classright2(String cid, OnNetListener onNetListener);
    void classright3(String cid,OnNetListener onNetListener);
}
 
 
public class ClassLeftModelImp implements ClassLeftModel {
    @Override
    public void classleft(final OnNetListener onNetListener) {
        OkhttpUtils1.getInstance().doGet(Api.CATAGORY_URL, new OnNetListener() {
            @Override
            public void onSuccess(String result) {
                SoduBean soduBean = new Gson().fromJson(result, SoduBean.class);
                if ("0".equals(soduBean.getCode())) {
                    onNetListener.onSuccess(result);
                }
            }

            @Override
            public void onFailed(Exception e) {
                onNetListener.onFailed(e);
            }
        });
    }
}

 
public class ClassRightModelImp implements ClassRightModel {
    @Override
    public void classright1(final OnNetListener onNetListener) {

        OkhttpUtils1.getInstance().doGet(Api.PRODUCTCATAGORY_URL, new OnNetListener() {
            @Override
            public void onSuccess(String result) {

                ProductCatagoryBean productCatagoryBean = new Gson().fromJson(result, ProductCatagoryBean.class);
                if ("0".equals(productCatagoryBean.getCode())) {
                    onNetListener.onSuccess(result);
                }
            }

            @Override
            public void onFailed(Exception e) {

            }
        });
    }

    @Override
    public void classright3(String cid, final OnNetListener onNetListener) {
        //创建Map集合
        Map<String, String> params = new HashMap<>();
        params.put("cid", cid);
        OkhttpUtils.getInstance().login(Api.PRODUCTCATAGORY_URL, params, new OnNetListener() {
            @Override
            public void onSuccess(String result) {
                Log.e("TAG",result);
                ProductCatagoryBean productCatagoryBean = new Gson().fromJson(result, ProductCatagoryBean.class);
                if ("0".equals(productCatagoryBean.getCode())) {
                    onNetListener.onSuccess(result);
                }
            }

            @Override
            public void onFailed(Exception e) {
                onNetListener.onFailed(e);
            }
        });
    }
    
}

//presenter
 
 
public interface ClassLeftPresenter {
    void classleft();
}
 
 
public interface ClassRightPresenter {
    void classright1(String cid);
//    void classright2();
//    void classright3(String cid);
}

 
public class ClassLeftPresenterImp implements ClassLeftPresenter {

    ClassLeftView leftView;
    ClassLeftModelImp classLeftModelImp;

    public ClassLeftPresenterImp(ClassLeftView leftView) {
        this.leftView = leftView;
        classLeftModelImp = new ClassLeftModelImp();
    }

    @Override
    public void classleft() {
        OkhttpUtils1.getInstance().doGet(Api.CATAGORY_URL, new OnNetListener() {
            @Override
            public void onSuccess(String result) {
                SoduBean soduBean = new Gson().fromJson(result, SoduBean.class);
                if(leftView!=null){
                   leftView.show(soduBean.getData());
                }
            }

            @Override
            public void onFailed(Exception e) {

            }
        });
    }
}

 
public class ClassRightPresenterImp implements ClassRightPresenter {
    ClassRightView classRightView;
    ClassRightModelImp classRightModelImp;

    public ClassRightPresenterImp(ClassRightView classRightView) {
        this.classRightView = classRightView;
        classRightModelImp = new ClassRightModelImp();
    }

    @Override
    public void classright1(String cid) {
        OkhttpUtils1.getInstance().doGet(Api.PRODUCTCATAGORY_URL+"?cid="+cid, new OnNetListener() {
            @Override
            public void onSuccess(String result) {
                ProductCatagoryBean productCatagoryBean = new Gson().fromJson(result, ProductCatagoryBean.class);
                if(classRightView!=null){
                    classRightView.show1(productCatagoryBean.getData());
                }
            }

            @Override
            public void onFailed(Exception e) {

            }
        });
    }

}

//view
 
 
public interface ClassLeftView {
    void show(List<SoduBean.DataBean> list);
}

 
public interface ClassRightView {
    void show1(List<ProductCatagoryBean.DataBean> list);
//    void show2(List<ProductCatagoryBean.DataBean.ListBean> list);
//    void show2(List<ProductCatagoryBean.DataBean.ListBean> listBeen);

//    void show3(List<ProductCatagoryBean.DataBean> list);
//    void showData(List<String> groupList, List<List<ProductCatagoryBean.DataBean.ListBean>> childList);
}

//adapter
 
 
public class ClassLeftRecyclerViewAdapter extends RecyclerView.Adapter<ClassLeftRecyclerViewAdapter.ClassLeftHolder>{

    Context context;
    List<SoduBean.DataBean> list;

    public static int tagPosition;

    public static int getTagPosition() {
        return tagPosition;
    }
    public static void setTagPosition(int tagPosition) {
        ClassLeftRecyclerViewAdapter.tagPosition = tagPosition;
    }
    public ClassLeftRecyclerViewAdapter(Context context, List<SoduBean.DataBean> list) {
        this.context = context;
        this.list = list;
    }

    @Override
    public ClassLeftHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.classleft_item, parent, false);
        final ClassLeftHolder classLeftHolder=new ClassLeftHolder(view);
        view.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                recycleViewItemClickListener.recycleViewItemClickListener(classLeftHolder.getPosition(), view, classLeftHolder);
            }
        });

        return classLeftHolder;
    }

    @Override
    public void onBindViewHolder(ClassLeftHolder holder, int position) {
        holder.textView.setText(list.get(position).getName());
        if (position == getTagPosition()) {
            holder.itemView.setBackgroundResource(R.color.colorPblBackground);
        } else {
            holder.itemView.setBackgroundResource(R.color.colorwhile);
        }
    }

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

    class ClassLeftHolder extends RecyclerView.ViewHolder {
        TextView textView;
        public ClassLeftHolder(View itemView) {
            super(itemView);
            textView = itemView.findViewById(R.id.tv);
        }
    }

    //声明成员变量
    public OnRecycleViewItemClickListener recycleViewItemClickListener;
    //定义点击接口
    public interface OnRecycleViewItemClickListener {
        void recycleViewItemClickListener(int position, View view, RecyclerView.ViewHolder viewHolder);
    }
    //提供set方法
    public void setRecycleViewItemClickListener(OnRecycleViewItemClickListener recycleViewItemClickListener) {
        this.recycleViewItemClickListener = recycleViewItemClickListener;
    }
}

 
 
public class ClassRightRecyclerViewAdapter extends RecyclerView.Adapter<ClassRightRecyclerViewAdapter.ClassRightHodel> {
    private Context context;
    private List<ProductCatagoryBean.DataBean> list;

    public ClassRightRecyclerViewAdapter(Context context, List<ProductCatagoryBean.DataBean> list) {
        this.context = context;
        this.list = list;
    }

    @Override
    public ClassRightHodel onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.classright_item, parent, false);
        ClassRightHodel classRightHodel = new ClassRightHodel(view);
        return classRightHodel;
    }

    @Override
    public void onBindViewHolder(ClassRightHodel holder, int position) {
        holder.textView.setText(list.get(position).getName());
        holder.recyclerView.setLayoutManager(new GridLayoutManager(context,3));
        List<ProductCatagoryBean.DataBean.ListBean> listBeen=this.list.get(position).getList();
        ClassRightRecyclerAdapter2 classRightRecyclerAdapter2=new ClassRightRecyclerAdapter2(context, this.list.get(position).getList());
        holder.recyclerView.setAdapter(classRightRecyclerAdapter2);

    }

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

    class ClassRightHodel extends RecyclerView.ViewHolder {
        TextView textView;
        RecyclerView recyclerView;

        public ClassRightHodel(View itemView) {
            super(itemView);
            textView = itemView.findViewById(R.id.tv);
            recyclerView = itemView.findViewById(R.id.item_rlv);
        }
    }
}

 
public class ClassRightRecyclerAdapter2 extends RecyclerView.Adapter<ClassRightRecyclerAdapter2.ClassRightHolder2>{

    private Context context;
    private List<ProductCatagoryBean.DataBean.ListBean> list;
    private ClassRightHolder2 classRightHolder2;
    private View view;

    public ClassRightRecyclerAdapter2(Context context, List<ProductCatagoryBean.DataBean.ListBean> list) {
        this.context = context;
        this.list = list;
    }



    @Override
    public ClassRightHolder2 onCreateViewHolder(ViewGroup parent, int viewType) {
        view = LayoutInflater.from(context).inflate(R.layout.classright_item2, parent, false);
        classRightHolder2=new ClassRightHolder2(view);
        return classRightHolder2;
    }

    @Override
    public void onBindViewHolder(ClassRightHolder2 holder, int position) {
        holder.textView.setText(list.get(position).getName());
        Glide.with(context).load(list.get(position).getIcon()).into(holder.imageView);
    }

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

    class ClassRightHolder2 extends RecyclerView.ViewHolder {
        ImageView imageView;
        TextView textView;

        public ClassRightHolder2(View itemView) {
            super(itemView);
            imageView = itemView.findViewById(R.id.iv);
            textView = itemView.findViewById(R.id.tv);
        }
    }
}

 
//点击的回调 
 
 
public class RecyclerViewClickListener implements RecyclerView.OnItemTouchListener {

    private int mLastDownX,mLastDownY;
    //该值记录了最小滑动距离
    private int touchSlop ;
    private OnItemClickListener mListener;
    //是否是单击事件
    private boolean isSingleTapUp = false;
    //是否是长按事件
    private boolean isLongPressUp = false;
    private boolean isMove = false;
    private long mDownTime;

    //内部接口,定义点击方法以及长按方法
    public interface OnItemClickListener {
        void onItemClick(View view, int position);

        void onItemLongClick(View view, int position);
    }

    public RecyclerViewClickListener(Context context, OnItemClickListener listener){
        touchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
        mListener = listener;
    }
    @Override
    public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
        int x = (int) e.getX();
        int y = (int) e.getY();
        switch (e.getAction()){
            /**
             *  如果是ACTION_DOWN事件,那么记录当前按下的位置,
             *  记录当前的系统时间。
             */
            case MotionEvent.ACTION_DOWN:
                mLastDownX = x;
                mLastDownY = y;
                mDownTime = System.currentTimeMillis();
                isMove = false;
                break;
            /**
             *  如果是ACTION_MOVE事件,此时根据TouchSlop判断用户在按下的时候是否滑动了,
             *  如果滑动了,那么接下来将不处理点击事件
             */
            case MotionEvent.ACTION_MOVE:
                if(Math.abs(x - mLastDownX)>touchSlop || Math.abs(y - mLastDownY)>touchSlop){
                    isMove = true;
                }
                break;
            /**
             *  如果是ACTION_UP事件,那么根据isMove标志位来判断是否需要处理点击事件;
             *  根据系统时间的差值来判断是哪种事件,如果按下事件超过1ms,则认为是长按事件,
             *  否则是单击事件。
             */
            case MotionEvent.ACTION_UP:
                if(isMove){
                    break;
                }
                if(System.currentTimeMillis()-mDownTime > 1000){
                    isLongPressUp = true;
                }else {
                    isSingleTapUp = true;
                }
                break;
        }
        if(isSingleTapUp ){
            //根据触摸坐标来获取childView
            View childView = rv.findChildViewUnder(e.getX(),e.getY());
            isSingleTapUp = false;
            if(childView != null){
                //回调mListener#onItemClick方法
                mListener.onItemClick(childView,rv.getChildLayoutPosition(childView));
                return true;
            }
            return false;
        }
        if (isLongPressUp ){
            View childView = rv.findChildViewUnder(e.getX(),e.getY());
            isLongPressUp = false;
            if(childView != null){
                mListener.onItemLongClick(childView, rv.getChildLayoutPosition(childView));
                return true;
            }
            return false;
        }
        return false;
    }

    @Override
    public void onTouchEvent(RecyclerView rv, MotionEvent e) {

    }

    @Override
    public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {

    }
}
 
//主Main代码
 
 
public class FragmentClass extends Fragment implements ClassLeftView, ClassRightView {
    private View view;
    private RecyclerView rvleft;
    private ClassLeftPresenterImp classLeftPresenterImp;
    private ClassLeftRecyclerViewAdapter classLeftRecyclerViewAdapter;
    private ClassRightPresenterImp classRightPresenterImp;
    private RecyclerView rvright;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        view = View.inflate(getActivity(), R.layout.fragment_class, null);
        intiData();
        return view;
    }

    private void intiData() {
        classLeftPresenterImp = new ClassLeftPresenterImp(this);
        classLeftPresenterImp.classleft();
        rvleft = view.findViewById(R.id.type_rvleft);
        classRightPresenterImp = new ClassRightPresenterImp(this);
        rvright = view.findViewById(R.id.type_rvright);
    }

    @Override
    public void show(final List<SoduBean.DataBean> list) {
        rvleft.setLayoutManager(new LinearLayoutManager(getContext()));
        classLeftRecyclerViewAdapter = new ClassLeftRecyclerViewAdapter(getContext(), list);
        rvleft.setAdapter(classLeftRecyclerViewAdapter);
        classLeftRecyclerViewAdapter.setRecycleViewItemClickListener(new ClassLeftRecyclerViewAdapter.OnRecycleViewItemClickListener() {
            @Override
            public void recycleViewItemClickListener(int position, View view, RecyclerView.ViewHolder viewHolder) {
                classLeftRecyclerViewAdapter.setTagPosition(position);
                int cid = list.get(position).getCid();
                classRightPresenterImp.classright1(cid + "");
                classLeftRecyclerViewAdapter.notifyDataSetChanged();
            }
        });
    }

    @Override
    public void show1(List<ProductCatagoryBean.DataBean> list) {
        rvright.setLayoutManager(new LinearLayoutManager(getContext()));
        ClassRightRecyclerViewAdapter classRightRecyclerViewAdapter = new ClassRightRecyclerViewAdapter(getContext(), list);
        rvright.setAdapter(classRightRecyclerViewAdapter);
        classRightRecyclerViewAdapter.notifyDataSetChanged();
    }

}

//网络工具类
 
 
public class OkhttpUtils {
    private static OkhttpUtils instance;
    private final OkHttpClient okHttpClient;
    private final Handler handler;

    private OkhttpUtils() {
        //创建OkHttpClient对象
        okHttpClient = new OkHttpClient();
        handler = new Handler(Looper.getMainLooper());
    }

    public static OkhttpUtils getInstance() {
        if (instance == null) {
            instance = new OkhttpUtils();
        }
        return instance;
    }

    /**
     * 登录的方法
     *
     * @param url           地址
     * @param params        接口的参数
     * @param onNetListener 接口回调,把数据返给调用改方法的Activity
     */
    public void login(String url, Map<String, String> params, final OnNetListener onNetListener) {
        if (params == null) {
            return;
        }
        //创建Requeset对象
        FormBody.Builder builder = new FormBody.Builder();
        //添加参数
        for (Map.Entry<String, String> entry : params.entrySet()) {
            builder.add(entry.getKey(), entry.getValue());
        }
        FormBody formBody = builder.build();
        Request request = new Request.Builder()
                .url(url)
                .post(formBody)
                .build();
        //请求
        okHttpClient.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                onNetListener.onFailed(e);
            }

            @Override
            public void onResponse(Call call, final Response response) throws IOException {
                //把回调放到主线程里
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        //已经在主线程运行了
                        final String string;
                        try {
                            //拿到服务器返回的json字符串
                            string = response.body().string();
                            onNetListener.onSuccess(string);
                        } catch (IOException e) {
                            e.printStackTrace();
                        }

                    }
                });

//                onNetListener.onSuccess(string);
            }
        });
    }
    

}

 
public class OkhttpUtils1 {
    private static OkhttpUtils1 instance;
    private final OkHttpClient okHttpClient;
    private final Handler handler;

    private OkhttpUtils1() {
        okHttpClient = new OkHttpClient.Builder()
                .connectTimeout(15, TimeUnit.SECONDS)//连接超时
                .writeTimeout(20, TimeUnit.SECONDS)//写入超时
                .readTimeout(20, TimeUnit.SECONDS)//读取超时
                .build();
        handler = new Handler(Looper.getMainLooper());
    }

    public static OkhttpUtils1 getInstance() {
        if (instance == null) {
            instance = new OkhttpUtils1();
        }
        return instance;
    }

    /**
     * GET请求
     *
     * @param url
     */
    public void doGet(String url, final OnNetListener onNetListener) {
        //创建Request
        final Request request = new Request.Builder()
                .url(url)
                .build();
        //发送请求
        okHttpClient.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, final IOException e) {
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        onNetListener.onFailed(e);
                    }
                });
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                //拿到服务器返回的数据
                final String string = response.body().string();
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        onNetListener.onSuccess(string);
                    }
                });
            }
        });
    }
}
 
//左边bean
 
public class SoduBean {

    /**
     * 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;
        }
    }
}

 
//右边bean
 
 
public class ProductCatagoryBean {

    /**
     * msg : 获取子分类成功
     * code : 0
     * data : [{"cid":"2","list":[{"icon":"http://120.27.23.105/images/icon.png","name":"手机","pcid":6,"pscid":39},{"icon":"http://120.27.23.105/images/icon.png","name":"笔记本","pcid":6,"pscid":40},{"icon":"http://120.27.23.105/images/icon.png","name":"平板电脑","pcid":6,"pscid":41},{"icon":"http://120.27.23.105/images/icon.png","name":"游戏机","pcid":6,"pscid":42},{"icon":"http://120.27.23.105/images/icon.png","name":"摄影摄像","pcid":6,"pscid":43}],"name":"数码家电","pcid":"6"},{"cid":"2","list":[{"icon":"http://120.27.23.105/images/icon.png","name":"男表","pcid":7,"pscid":44},{"icon":"http://120.27.23.105/images/icon.png","name":"女表","pcid":7,"pscid":45},{"icon":"http://120.27.23.105/images/icon.png","name":"儿童手表","pcid":7,"pscid":46},{"icon":"http://120.27.23.105/images/icon.png","name":"运动手表","pcid":7,"pscid":47},{"icon":"http://120.27.23.105/images/icon.png","name":"电子表","pcid":7,"pscid":48},{"icon":"http://120.27.23.105/images/icon.png","name":"情侣表","pcid":7,"pscid":49},{"icon":"http://120.27.23.105/images/icon.png","name":"石英表","pcid":7,"pscid":50},{"icon":"http://120.27.23.105/images/icon.png","name":"机械表","pcid":7,"pscid":51}],"name":"钟表","pcid":"7"},{"cid":"2","list":[{"icon":"http://120.27.23.105/images/icon.png","name":"奢品箱包","pcid":8,"pscid":52},{"icon":"http://120.27.23.105/images/icon.png","name":"珠宝饰品","pcid":8,"pscid":53},{"icon":"http://120.27.23.105/images/icon.png","name":"运动户外","pcid":8,"pscid":54}],"name":"服饰奢品","pcid":"8"},{"cid":"2","list":[{"icon":"http://120.27.23.105/images/icon.png","name":"面部护肤","pcid":9,"pscid":55},{"icon":"http://120.27.23.105/images/icon.png","name":"洗发护发","pcid":9,"pscid":56},{"icon":"http://120.27.23.105/images/icon.png","name":"身体护理","pcid":9,"pscid":57},{"icon":"http://120.27.23.105/images/icon.png","name":"口腔护理","pcid":9,"pscid":58},{"icon":"http://120.27.23.105/images/icon.png","name":"女性护理","pcid":9,"pscid":59},{"icon":"http://120.27.23.105/images/icon.png","name":"清洁用品","pcid":9,"pscid":60}],"name":"美妆个护","pcid":"9"}]
     */

    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 : 2
         * list : [{"icon":"http://120.27.23.105/images/icon.png","name":"手机","pcid":6,"pscid":39},{"icon":"http://120.27.23.105/images/icon.png","name":"笔记本","pcid":6,"pscid":40},{"icon":"http://120.27.23.105/images/icon.png","name":"平板电脑","pcid":6,"pscid":41},{"icon":"http://120.27.23.105/images/icon.png","name":"游戏机","pcid":6,"pscid":42},{"icon":"http://120.27.23.105/images/icon.png","name":"摄影摄像","pcid":6,"pscid":43}]
         * name : 数码家电
         * pcid : 6
         */

        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 : 6
             * pscid : 39
             */

            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;
            }
        }


    }}

 
 
 
 
//返回的请求
 
 
public interface OnNetListener {
    void onSuccess(String result);
    void onFailed(Exception e);
}

//依赖自己找
//权限自己加
 
{
友情添加
public class ApiUtil {

    private static final String BASE_URL = "https://www.zhaoapi.cn/";
    //首页
    public static final String HOME_URL = BASE_URL+"ad/getAd";
    //分类
    public static final String FEN_LEI_URL = BASE_URL+"product/getCatagory";
    //详情
    public static final String DETAIL_URL = BASE_URL+"product/getProductDetail";
    //子分类
    public static final String CHILD_FEN_LEI_URL = BASE_URL+"product/getProductCatagory";
    //搜索
    public static final String SEARTCH_URL = BASE_URL+"product/searchProducts";

    //登录
    public static final String LOGIN_URL = BASE_URL+"user/login";
    //查询购物车
    public static final String SELECT_CART = BASE_URL+"product/getCarts";
    //更新购物车 product/updateCarts?uid=71&sellerid=1&pid=1&selected=0&num=10
    public static final String UPDATE_CART_URL = BASE_URL+"product/updateCarts";
    //删除购物车...product/deleteCart?uid=72&pid=1
    public static final String DELETE_CART_URL = BASE_URL+"product/deleteCart";
    //添加购物车...uid...pid
    public static final String ADD_CART_URL = BASE_URL+"product/addCart";
    //注册
    public static final String REGIST_URL = BASE_URL+"user/reg";
    //https://www.zhaoapi.cn/file/upload上传的服务器路径
    public static final String UPLOAD_ICON_URL = BASE_URL+"file/upload";
    //获取用户信息...https://www.zhaoapi.cn/user/getUserInfo
    public static final String USER_INFO_URL = BASE_URL+"user/getUserInfo";
    //创建订单...https://www.zhaoapi.cn/product/createOrder
    public static final String CREATE_ORDER_URL = BASE_URL+"product/createOrder";
    //订单信息....https://www.zhaoapi.cn/product/getOrders?uid=71
    public static final String ORDER_LIST_URL = BASE_URL+"product/getOrders";
    //修改订单状态...https://www.zhaoapi.cn/product/updateOrder?uid=71&status=1&orderId=1
    public static final String UPDATE_ORDER_URL = BASE_URL+"product/updateOrder";
    //查询默认地址...https://www.zhaoapi.cn/user/getDefaultAddr?uid=71
    public static final String GET_DEFAULT_ADDR_URL = BASE_URL+"user/getDefaultAddr";
    //添加新地址...https://www.zhaoapi.cn/user/addAddr?uid=71&addr=北京市昌平区金域国际1-1-1&mobile=18612991023&name=kson
    public static final String ADD_NEW_ADDR_URL = BASE_URL+"user/addAddr";
    //获取地址列表...https://www.zhaoapi.cn/user/getAddrs?uid=71
    public static final String GET_ALL_ADDR_URL = BASE_URL+"user/getAddrs";
    //设置默认地址...https://www.zhaoapi.cn/user/setAddr?uid=71&addrid=3&status=1
    public static final String SET_DEFAULT_ADDR_URL = BASE_URL+"user/setAddr";

}

}

 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值