Android使用HttpURLConnection访问网络

Android上可以通过HttpURLConnection发送HTTP请求来访问网络,具体步骤如下:

1.获取HttpURLConncetion实例

通过调用url实例的openConnection()方法即可,代码如下:

URL url = new URL("htp://www.baidu.com");
HttpURLConnection connection = (HttpURLConncetion) url.openConnection();

2.设置请求属性

connection.setRequestMethod("GET");//请求方式
connection.setConnectionTimeout(8000);//连接超时
connection.setReadTimeout(8000);//读取超时

3.获取数据

调用getInputStream()方法获取服务器返回的输入流,并将数据保存到字符串,代码如下:

InputStream in = connection.getInputStream();//获取输入流
reader = new BufferReader(new InputStreamReader(in));
StringBuilder response = new StringBuilder();//构建字符数组
String line;
while((line = reader.readerLine())!=null){
    response.append(line);//将数据写入字符串
    }
reader.close();
connection.close();

 

注1:一般将网络请求写在子线程里面,在进行UI操作的时候再从子线程切换到主线程,开启线程的方法如下:

new Thread(new Runnable(){
    @Override
    public void run(){
    //...
    }
}).start()

从子线程切换到主线程的方法如下:

runOnUiThread(new Runnable(){
    @Override
    public void run(){
        //...
    }
})

注2:访问网络需要申请网络权限,在AndroidManifest.xml文件中添加:

你可能感兴趣的:(Android之访问网络)