cehua_NewsFragment

来源:互联网 发布:租号玩刷积分软件 编辑:程序博客网 时间:2024/05/16 10:20
private ListView listView;


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


        //找到id
        listView = view.findViewById(R.id.frament_list_view);


        return view;
    }


    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);


        //获取数据
        String name =  getArguments().getString("name", "");


        //判断
        if (name.equals("头条")){
            name = "top";
        }else if (name.equals("军事")){
            name = "junshi";
        }else if (name.equals("社会")){
            name = "shehui";
        }else if (name.equals("财经")){
            name = "caijing";
        }else if (name.equals("国内")){
            name = "guonei";
        }


        getDataFromNet(name);


    }


    private void getDataFromNet(final String name) {
        AsyncTask<Void, Void, String> asyncTask = new AsyncTask<Void, Void, String>() {
            @Override
            protected String doInBackground(Void... voids) {
                try {
                    URL url = new URL("http://v.juhe.cn/toutiao/index?type="+name+"&key=597b4f9dcb50e051fd725a9ec54d6653");


                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();


                    connection.setRequestMethod("GET");
                    connection.setReadTimeout(5000);
                    connection.setConnectTimeout(5000);


                    //获取
                    int responseCode = connection.getResponseCode();
                    if (responseCode == 200){
                        InputStream inputStream = connection.getInputStream();


                        String json = streamToString(inputStream,"utf-8");


                        //打印字符串
                        Log.i("---",json);


                        return json;
                    }


                } catch (Exception e) {
                    e.printStackTrace();
                }




                return null;
            }


            @Override
            protected void onPostExecute(String s) {


                Gson gson = new Gson();
                DataDataBean dataDataBean = gson.fromJson(s, DataDataBean.class);


                MyAdapter myAdapter = new MyAdapter(getActivity(), dataDataBean.getResult().getData());


                listView.setAdapter(myAdapter);
            }
        };


        asyncTask.execute();
    }




    private String streamToString(InputStream inputStream,String charset) {
        try {
            InputStreamReader inputStreamReader = new InputStreamReader(inputStream,charset);


            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
            String s = null;
            StringBuilder builder = new StringBuilder();
            while ((s = bufferedReader.readLine()) != null){
                builder.append(s);
            }


            bufferedReader.close();
            return builder.toString();


        } catch (Exception e) {
            e.printStackTrace();
        }


        return  null;
    }