【基于Java语言的Andorid个人开发笔记,个人工具类笔记】首页常见的新闻预览部分,和功能部分

我们需要在之前的首页基础上添加内容
新闻部分存在热门和预览内容
功能部分的Java代码


    /**
     * 服务入口
     */
    private void initFunction() {
        JSONObject jsonObject = new JSONObject();
        final RequestQueue requestQueue = Volley.newRequestQueue(getContext());
        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, jsonObject, new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                try {
                    final Gson gson = new Gson();
                    functionBean = gson.fromJson(response.toString(), FunctionBean.class);
                    gv_serve_home.setAdapter(new BaseAdapter() {

                        private void initView(View function) {
                            imgItem = (ImageView) function.findViewById(R.id.img_item);
                            txtItem = (TextView) function.findViewById(R.id.txt_item);
                        }

                        private TextView txtItem;
                        private ImageView imgItem;

                        @Override
                        public int getCount() {
                            return 10;
                        }

                        @Override
                        public Object getItem(int position) {
                            return null;
                        }

                        @Override
                        public long getItemId(int position) {
                            return 0;
                        }

                        @Override
                        public View getView(int position, View convertView, ViewGroup parent) {
                            convertView = View.inflate(getContext(), R.layout.item_function, null);
                            initView(convertView);
                            if (position < 9) {
                                Glide.with(getContext()).load(AppConfig.ip + functionBean.getRows().get(position).getImgUrl()).into(imgItem);
                                txtItem.setText(functionBean.getRows().get(position).getServiceType());
                            } else {
                                Glide.with(getContext()).load(AppConfig.ip + functionBean.getRows().get(position).getImgUrl()).into(imgItem);
                                txtItem.setText("更多服务");
                            }
                            return convertView;
                        }
                    });
                } catch (Exception e) {
                    e.printStackTrace();
                    Toast.makeText(getContext(), "请求错误", Toast.LENGTH_SHORT).show();
                }
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Toast.makeText(getContext(), "服务错误", Toast.LENGTH_SHORT).show();
            }
        });
        requestQueue.add(jsonObjectRequest);
        /**
         * 服务入口的点击事件
         */
        gv_serve_home.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                switch (position) {
                    case 0:
                        Toast.makeText(getContext(), "0号", Toast.LENGTH_SHORT).show();
                        break;
                    case 1:
                        Toast.makeText(getContext(), "1号", Toast.LENGTH_SHORT).show();
                        break;
                    case 2:
                        Toast.makeText(getContext(), "2号", Toast.LENGTH_SHORT).show();
                        break;
                    case 3:
                        Toast.makeText(getContext(), "3号", Toast.LENGTH_SHORT).show();
                        break;
                    case 4:
                        Toast.makeText(getContext(), "4号", Toast.LENGTH_SHORT).show();
                        break;
                    case 5:
                        Toast.makeText(getContext(), "5号", Toast.LENGTH_SHORT).show();
                        break;
                    case 6:
                        Toast.makeText(getContext(), "6号", Toast.LENGTH_SHORT).show();
                        break;
                    case 7:
                        Toast.makeText(getContext(), "7号", Toast.LENGTH_SHORT).show();
                        break;
                    case 8:
                        Toast.makeText(getContext(), "8号", Toast.LENGTH_SHORT).show();
                        break;
                    case 9:
                        startActivity(new Intent(getContext(), MainActivity.class).putExtra("page", 9));
                        getActivity().finish();
                        break;
                }
            }
        });
    }

    /**
     * 热门
     */
    private void initHot1() {
        JSONObject jsonObject = new JSONObject();
        final Integer[] one = new Integer[1];
        final Integer[] two = new Integer[1];
        final RequestQueue requestQueue = Volley.newRequestQueue(getContext());
        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, jsonObject, new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(final JSONObject response) {
                try {
                    final int i = Integer.parseInt(response.getString("total"));
                    one[0] = response.getJSONArray("rows").getJSONObject(0).getInt("id");
                    two[0] = response.getJSONArray("rows").getJSONObject(1).getInt("id");
                    gv_hot_home.setAdapter(new BaseAdapter() {
                        private void initView(View hot) {
                            imgItem = (ImageView) hot.findViewById(R.id.img_item);
                            txtItem = (TextView) hot.findViewById(R.id.txt_item);
                        }

                        private TextView txtItem;
                        private ImageView imgItem;

                        @Override
                        public int getCount() {
                            return i;
                        }

                        @Override
                        public Object getItem(int position) {
                            return null;
                        }

                        @Override
                        public long getItemId(int position) {
                            return 0;
                        }

                        @Override
                        public View getView(int position, View convertView, ViewGroup parent) {
                            convertView = View.inflate(getContext(), R.layout.item_hot, null);
                            initView(convertView);
                            try {
                                Glide.with(getContext()).load(AppConfig.ip + response.getJSONArray("rows").getJSONObject(position).getString("cover")).into(imgItem);
                                txtItem.setText(response.getJSONArray("rows").getJSONObject(position).getString("title"));
                            } catch (JSONException e) {
                                e.printStackTrace();
                            }
                            return convertView;
                        }
                    });
                } catch (Exception e) {
                    Toast.makeText(getContext(), "热门咨询请求错误", Toast.LENGTH_SHORT).show();
                    e.printStackTrace();
                }
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Toast.makeText(getContext(), "热门资讯网络服务错误", Toast.LENGTH_SHORT).show();
            }
        });
        requestQueue.add(jsonObjectRequest);
        gv_hot_home.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Intent intent = new Intent(getContext(), ShowActivity.class);
                switch (position) {
                    case 0:
                        intent.putExtra("idNews", one[0]);
                        startActivity(intent);
                        break;
                    case 1:
                        intent.putExtra("idNews", two[0]);
                        startActivity(intent);
                        break;
                }
            }
        });
    }

    /**
     * 新闻分类
     */
    private void initBtn() {
        final int[] num = {22};
        initNew(num[0]);
        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                switch (checkedId) {
                    case R.id.type_22:
                        num[0] = 22;
                        initNew(num[0]);
                        break;
                    case R.id.type_9:
                        num[0] = 9;
                        initNew(num[0]);
                        break;
                    case R.id.type_17:
                        num[0] = 17;
                        initNew(num[0]);
                        break;
                    case R.id.type_19:
                        num[0] = 19;
                        initNew(num[0]);
                        break;
                    case R.id.type_20:
                        num[0] = 20;
                        initNew(num[0]);
                        break;
                    case R.id.type_21:
                        num[0] = 21;
                        initNew(num[0]);
                        break;
                }
            }
        });
    }

    /**
     * 新闻请求
     *
     * @param num
     */
    private void initNew(final int num) {
        JSONObject jsonObject = new JSONObject();
        RequestQueue requestQueue = Volley.newRequestQueue(getContext());
        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, jsonObject, new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                Gson gson = new Gson();
                newBean = gson.fromJson(response.toString(), NewBean.class);
                gv_new_home.setAdapter(new BaseAdapter() {
                    private void initView(View news) {
                        ivItemNew = (ImageView) news.findViewById(R.id.iv_item_new);
                        tvTitleItemNew = (TextView) news.findViewById(R.id.tvTitle_item_new);
                        tvTimeItemNew = (TextView) news.findViewById(R.id.tvTime_item_new);
                        tvConItmeNew = (TextView) news.findViewById(R.id.tvCon_itme_new);
                        tvLikeItemNew = (TextView) news.findViewById(R.id.tvLike_item_new);
                    }

                    private TextView tvLikeItemNew;
                    private TextView tvConItmeNew;
                    private TextView tvTimeItemNew;
                    private TextView tvTitleItemNew;
                    private ImageView ivItemNew;

                    @Override
                    public int getCount() {
                        return newBean.getTotal();
                    }

                    @Override
                    public Object getItem(int position) {
                        return null;
                    }

                    @Override
                    public long getItemId(int position) {
                        return 0;
                    }

                    @Override
                    public View getView(int position, View convertView, ViewGroup parent) {
                        convertView = View.inflate(getContext(), R.layout.item_new, null);
                        initView(convertView);
                        Glide.with(getContext()).load(AppConfig.ip + newBean.getRows().get(position).getCover()).into(ivItemNew);
                        tvTitleItemNew.setText(newBean.getRows().get(position).getTitle());
                        tvConItmeNew.setText(newBean.getRows().get(position).getContent());
                        tvTimeItemNew.setText("发布时间:" + newBean.getRows().get(position).getPublishDate());
                        tvLikeItemNew.setText("点赞数:" + newBean.getRows().get(position).getLikeNum());
                        return convertView;
                    }
                });
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
            }
        });
        requestQueue.add(jsonObjectRequest);
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值