Android HTTP客户端编程
林志红
(北京信息职业技术学院)
摘 要:Android 当中涉及到网络 编 程 的部分经 常 会 用到 HTTP 通信,同 时
android 也为我们提供了 HttpUrlConnection 接口,大大的方便了开发。HTTP
通信中的关键问题是如何传递请求参数。HTTP 请求参数的传递分为两种方法:
GET 方法和 POST 方法。GET 方法使用比较简便,传入参数可以放在 URL 当中,
但是因为 URL 长度有限,所以 GET 方法能够传递的数据量较小。而 POST 方法的
请求参数是单独传递的,所以传递的数据量可以很大,另外用 POST 方法传递请求
参数安全性比较高。
关键词:Android, HTTP, GET, POST,HttpUrlConnection,URL
Android 的网络程序大大增强了手机客户端的功能。通过网络,一个程序可以和成千上
万的人进行通信;可以获取世界上联网计算机中存储的信息;可以利用许多计算机的能力来
解决一个问题。Android 网络应用程序最基本的形式是作为应用客户端。Android 客户端获取
服务器的数据并显示。比较复杂的 Android 网络应用还会对获取的数据进行处理,不断更新
数据,向他人和计算机发送数据以实现实时交互。
在有线互联网领域,基于 HTTP 协议的应用是最为广泛的,也就是我们所说的浏览器/
服务器结构的程序。随着移动互联网技术的发展,有线互联网上成熟的应用纷纷转移到手机
客户端,基于 HTTP 的手机客户端/服务器结构的应用会更加广泛。
Android 与服务器的通信方式主要有两种,一是 Http 通信,一是 Socket 通信。两者的最
大差异在于,http 连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端
向服务器发送请求后,服务器端才能向客户端返回数据。而 Socket 通信则是在双方建立起连
接后就可以直接进行数据的传输,在连接时可实现信息的主动推送,而不需要每次由客户端
向服务器发送请求。
这节课我们来学习用 Android 编写 Http 客户端程序去访问 Java Web 服务器上的 Servlet
程序。
例:在 Android 手机客户端创建一个 UI 界面,界面上设置两个文本框和两个编辑框,
两个文本框分别是两个编辑框的标题,显示“UserName:”和“Password:”,每个编辑
框紧随各自的标题文本框之后,分别接受用户输入用户名字符串和密码字符串。在文本框和
编辑框的下方,放置两个按钮,一个登录按钮,一个退出按钮。单击登录按钮,则将用户名
和密码提交给服务器,由服务器判定是否合法用户,如果是合法用户,则服务器返回欢迎信
息,如果不是合法用户,则服务器返回非法用户信息。手机客户端将服务器返回的信息通过
对话框显示出来,如图 1 所示。在服务器端创建 Servlet,响应请求并且返回登陆结果。
1 / 10
Android HTTP 客户端编程