二.tablayout_NewsFragment

来源:互联网 发布:vmware11 mac os补丁 编辑:程序博客网 时间:2024/06/05 14:44
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);


        listView = view.findViewById(R.id.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=c4479ad58f41e7f78a8fa073d0b1f1b5");


                    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;
    }
原创粉丝点击