HttpURLConnection 和 AsyncTask应用

private class MyAsyncTask extends AsyncTask<String,Void,String>{

//耗时操作

@Override
protected String doInBackground(String... strings) {

    try {
        //创建url
        URL url = new URL("http://www.xieast.com/api/news/news.php?page=2");

        //打开链接
        HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
        //设置请求方法
        urlConnection.setRequestMethod("GET");
        //读取超时
        urlConnection.setReadTimeout(5000);
        //连接超市
        urlConnection.setConnectTimeout(5000);

        if (urlConnection.getResponseCode()==200){
            //得到输入流
            InputStream stream = urlConnection.getInputStream();
            //得到请求的数据
            BufferedReader reader = new BufferedReader(new InputStreamReader(stream));

            StringBuilder builder = new StringBuilder();

            String str = "";
            while ((str=reader.readLine())!=null){
                builder.append(str);

            }
            return builder.toString();
        }


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


    return null;
}



//主线程 接受耗时操作传来的值
@Override
protected void onPostExecute(String s) {
    super.onPostExecute(s);

    Gson gson = new Gson();
    JsonBean jsonBean = gson.fromJson(s, JsonBean.class);
    ArrayList<Step> data = jsonBean.getData();

Myadapter myadapter = new Myadapter(getActivity(),data);
     listView.setAdapter(myadapter);


}

猜你喜欢

转载自blog.csdn.net/weixin_44337058/article/details/85372439