Android网络编程之HttpURLConnection
URL(Uniform Resource Locator)代表统一资源定位符,Internet上的每个资源都具有一个唯一的名称标识,通常称为URL地址,这种地址可以是局域网上的某一台计算机,也可以是本地磁盘,更多的是Internet上的站点,因此URL是指向互联网资源的指针。 HttpURLConnection代表了应用程序与URL之间的通信链接,通过HttpURLConnection类的实例可以读取和写入此URL应用的资源。
代码实例如下:
HttpURLConnection connection = null;
//new 出一个URL对象,并传入目标网络地址
URL url = new URL("http://www.baidu.com");
//调用openConnection()方法创建HttpURLConnection实例
connection = (HttpURLConnection) url.openConnection();
//设置HTTP请求所使用的方法,GET表示希望从服务器那里获取数据,POST表示希望提交数据给服务器
connection.setRequestMethod("GET");
//设置连接超时的毫秒数
connection.setConnectTimeout(5000);
//设置读取超时的毫秒数
connection.setReadTimeout(5000);
//调用getInputStream()方法获取服务器返回的输入流
InputStream in = connection.getInputStream();
//对输入流进行读取
BufferedReader buf = new BufferedReader(new InputStreamReader(in));
StringBuilder response = new StringBuilder();
String line;
while((line = buf.readLine())!=null) {
response.append(line);
//将HTTP连接关闭掉
connection.disconnect();
这个程既然涉及到网络请求,那就需要开启新线程.以免主线程发生阻塞
在布局文件中添加TextView控件,将上述response用TextView显示出来,而因为在线程中不能直接改变UI,所以采用Handler来处理。
完成后如图:
服务器返回给我们的就是这种HTML代码,只是通常情况下浏览器都会将这些代码解析成漂亮的网页后再展示出来。