asynctask_httpclient

来源:互联网 发布:js隐藏菜单栏 编辑:程序博客网 时间:2024/06/17 22:30
package com.example.a03_asynctask_httpclient;import android.os.AsyncTask;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.View;import android.widget.TextView;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.DefaultHttpClient;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;public class MainActivity extends AppCompatActivity {    private TextView tv;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        tv = (TextView) findViewById(R.id.tv);    }    public void excute(View view) {        MyTask myTask = new MyTask();        myTask.execute("http://www.baidu.com");    }    class MyTask extends AsyncTask<String, Integer, String> {        @Override        protected String doInBackground(String... strings) {            Log.i("-----", "doInBackground");            try {                HttpClient client = new DefaultHttpClient();                HttpGet httpGet = new HttpGet(strings[0]);                HttpResponse response = client.execute(httpGet);                int statusCode = response.getStatusLine().getStatusCode();                if (statusCode == 200) {                    HttpEntity entity = response.getEntity();                    InputStream inputStream = entity.getContent();                    InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");                    BufferedReader bufferedReader = new BufferedReader(inputStreamReader);                    String string = null;                    StringBuilder builder = new StringBuilder();                    while ((string = bufferedReader.readLine()) != null) {                        builder.append(string);                    }                    bufferedReader.close();                    return builder.toString();                }            } catch (Exception e) {                e.printStackTrace();            }            return null;        }        @Override        protected void onPostExecute(String s) {            Log.i("-----", "onPostExecute");            tv.setText(s);        }    }}
原创粉丝点击