使用异步访问网络

来源:互联网 发布:驿站传书 题目知乎 编辑:程序博客网 时间:2024/06/06 12:23
package com.studio.listviewproject.listview;import android.os.AsyncTask;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v7.app.AppCompatActivity;import android.widget.ListView;import com.studio.listviewproject.R;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;/** * Created by Administrator on 2017/8/31. */public class RequestDataActivity extends AppCompatActivity {    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        ListView listView = (ListView) findViewById(R.id.main_list_view);        //List<data>   item.view        //listView.setAdapter();    }    public class RequestDataAsyncTask extends AsyncTask<Void, Void, String> {        @Override        protected void onPreExecute() {            super.onPreExecute();            //Loading        }        @Override        protected String doInBackground(Void... voids) {            return request("http://www.imooc.com/api/teacher?type=2&page=1");        }        private String request(String urlString) {            try {                URL url = new URL(urlString);                HttpURLConnection connection = (HttpURLConnection) url.openConnection();                connection.setConnectTimeout(30000);                connection.setRequestMethod("GET");                connection.connect();                int responseCode = connection.getResponseCode();                String responseMessage = connection.getResponseMessage();                if (responseCode == HttpURLConnection.HTTP_OK) {                    InputStreamReader inputStreamReader = new InputStreamReader(connection.getInputStream());                    BufferedReader bufferedReader = new BufferedReader(inputStreamReader);                    StringBuilder stringBuilder = new StringBuilder();                    String line;                    while ((line = bufferedReader.readLine()) != null) {                        stringBuilder.append(line);                    }                    return stringBuilder.toString();                }            } catch (MalformedURLException e) {                e.printStackTrace();            } catch (IOException e) {                e.printStackTrace();            }            return null;        }        @Override        protected void onPostExecute(String s) {            super.onPostExecute(s);            //Loading 消失,数据处理 刷新界面        }    }}
原创粉丝点击