HttpURLConnection继承了URLConnection,因而也可能向指定站点发送GET申请、POST申请。它在URLConnetion的根底上提供了例如以下便捷的办法。

int getResponseCode():获取server的响应代码。

String getResponseMessage():获取server的訪问信息。
String getRequestMethod():获取发送申请的办法。
void setRequestMethod(String method):设置发送申请的办法。
咱们通过两个样例来领会一下:
一、将站点的内容显示在界面上:
1、创立一个WebView

<WebView        android:id="@+id/webView"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_alignParentLeft="true"        android:layout_alignParentTop="true" />

2、MainActivity.java

public class MainActivity extends Activity {    private WebView webview;    //通过Handler在子线程更新主界面的UI    private Handler handler = new Handler();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        webview = (WebView) findViewById(R.id.webView);        new HttpThread("http://www.sina.com", webview, handler).start();    }}

3、创立一个子线程

public class HttpThread extends Thread {    private String url;    private WebView webview;    private Handler handler;    //通过构造函数传三个參数    public HttpThread(String url, WebView webView, Handler handler) {        this.url = url;        this.webview = webView;        this.handler = handler;    }    }    @Override    public void run() {        try {            URL httpUri = new URL(url);            HttpURLConnection conn = (HttpURLConnection) httpUri.openConnection();            conn.setReadTimeout(5000);            conn.setRequestMethod("GET");               final StringBuffer sb = new StringBuffer();            BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));            String str;            while((str = reader.readLine()) != null)            {                sb.append(str);            }            handler.post(new Runnable() {                @Override                public void run() {                //将数据载入到webview中                    webview.loadData(sb.toString(), "text/html;charset=utf-8", null);                }            });        } catch (MalformedURLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}

4、在AndroidManifest中退出权限:
android:name=”android.permission.INTERNET”

二、根据URL地址下载一张图片
1、创立一个webview

<ImageView         android:id="@+id/imageView1"        android:layout_width="match_parent"        android:layout_height="match_parent"/>

2、MainActivity.java

public class MainActivity extends Activity {    private Handler handler = new Handler();    private ImageView imageView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        imageView = (ImageView) findViewById(R.id.imageView1);        new     HttpThread("http://img5.duitang.com/uploads/item/201410/23/20141023211631_VKmfz.jpeg", imageView, handler).start();    }

3、创立一个子线程

public class HttpThread extends Thread {    private String url;    private Handler handler;    private ImageView imageView;    public HttpThread(String url, ImageView imageView, Handler handler) {        this.url = url;        this.imageView = imageView;        this.handler = handler;    }    @Override    public void run() {        try {            URL httpUri = new URL(url);            HttpURLConnection conn = (HttpURLConnection) httpUri.openConnection();            conn.setReadTimeout(5000);            conn.setRequestMethod("GET");            //设置可能读取到输出流            conn.setDoInput(true);            InputStream in = conn.getInputStream();            FileOutputStream out = null;            String fileName = String.valueOf(System.currentTimeMillis());            File downloadFile = null;            if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))            {                //取得SDcard的文件夹文件                File parent = Environment.getExternalStorageDirectory();                downloadFile = new File(parent, fileName);                out = new FileOutputStream(downloadFile);            }            //缓冲区            byte[] b = new byte[2 * 1024];            int len;            if(out != null)            {                while((len = in.read(b)) != -1)                {                    out.write(b, 0, len);                }            }            final Bitmap bitmap = BitmapFactory.decodeFile(downloadFile.getAbsolutePath());            handler.post(new Runnable() {                @Override                public void run() {                    imageView.setImageBitmap(bitmap);                }            });        } catch (MalformedURLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }

4、在AndroidManifest中退出权限:
android:name=”android.permission.WRITE_EXTERNAL_STORAGE”

这样下载的图片就显示在界面上了。