2024年3月13日发(作者:)

Android移动开发

(慕课版)

11.1 通过HTTP访问网络

随着智能手机和平板电脑等移动终端设备的迅速发展,现在的Internet已经不再只是传统的有线互

联网,它还包括了移动互联网。同有线互联网一样,移动互联网也可以使用HTTP访问网络。在Android

中,针对HTTP进行网络通信的方法主要有两种,一种是使用HttpURLConnection实现,另一种是使

用HttpClient实现,下面分别进行介绍。

11.1.1 使用HttpURLConnection访问网络

HttpURLConnection类位于包中,它用于发送HTTP请求和获取HTTP响应。由于该类

是抽象类,不能直接实例化对象,因而需要使用URL的openConnection()方法来获得。例如,要创建一

个网站对应的HttpURLConnection对象,可以使用下面的代码。

URL url = new URL("/");

HttpURLConnection urlConnection = (HttpURLConnection) nnection();

通过openConnection()方法创建的HttpURLConnection对象,并没有真正的执行连接操

作,只是创建了一个新的实例,在进行连接前,还可以设置一些属性。例如,连接超时的时

间和请求方式等。

创建了HttpURLConnection对象后,就可以使用该对象发送HTTP请求了。HTTP请求通常分为

GET请求和POST请求两种,下面分别进行介绍。

1.发送GET请求

使用HttpURLConnection对象发送请求时,默认发送的就是GET请求。因此,

发送GET请求比较简单,只需要在指定连接地址时,先将要传递的参数通过“?参数名

=参数值”进行传递(多个参数间使用英文半角的逗号分隔,例如,要传递用户名和

E-mail地址两个参数可以使用?user=wgh,email=wgh717@实现),然后获

取流中的数据,并关闭连接就可以了。

下面通过一个具体的实例来说明如何使用HttpURLConnection发送GET请求。

【例11-1】 在Eclipse中创建Android项目,名称为11-1,实现向服务器发送GET请求,并获

取服务器的响应结果。

(1)修改新建项目的res/layout目录下的布局文件activity_,将默认添加的TextView组

件删除,然后将默认添加的相对布局管理器修改为垂直的线性布局管理器,并且在其中添加一个id为

content的编辑框(用于输入微博内容),以及一个“发表”按钮,再添加一个滚动视图,并在该视图中

添加一个线性布局管理器,最后还需要在该线性布局管理器中添加一个文本框,用于显示从服务器上读

取的微博内容,关键代码如下。

android:layout_width="match_parent"

android:layout_height="match_parent"

android:gravity="center_horizontal"

android:orientation="vertical" >

发送GET请求

260

网络技术

第11章

android:id="@+id/content"

android:layout_width="match_parent"

android:layout_height="wrap_content" />