Android应用软件开发

194课时
2.6K学过
8分

课程评价 (0)

请对课程作出评价:
0/300

学员评价

暂无精选评价
3分钟

7.2相关知识

u 相关知识

HTTP(Hypertext Transfer Protocol)中文 “超文本传输协议”,是一种为分布式,合作式,多媒体信息系统服务,面向应用层的协议,是Internet上目前使用最广泛的应用层协议,它基于传输层的TCP协议进行通信,HTTP协议是通用的、无状态的协议。

HTTP的工作原理十分简单,就是客户端祥服务器发送一条http请求,服务器收到请求之后会返回一些数据给客户端,然后客户端对这些数据进行解析和处理即可。

正如前面7.1节中Webview控件实现的原理就是一个很好的例子,我们向百度的服务器发起一条http请求,接着服务器分析出我们想要访问的百度首页,于是会把该网页的html代码进行返回,然后webview在手机浏览器的内核对返回的html代码进行解析,最终将页面展示出来。简单的说,webview在后台帮我们完成了发送http请求,接收服务响应,解析返回数据,以及界面展示等步骤。

在Android上发送Http请求主要方式:HttpURLConnection。其用法如下:

首先需要获取HttpURLConnection的实例,一般只需要new出一个 URL对象,并传入目标的网络地址,然后调用一下openConnection()方法即可。

URL url-new URL("https://www.baidu.com");

HttpURLConnection connection=(HttpURLConnection)url.openConnection();

得到了HttpURLConnection的实例之后,就可以设置一下HTTP请求数据所使用的方法。常用的方法主要有两个,GET和POST,GET表示希望从服务器那里获取的数据,而post则表示将数据提交给服务器,connextion.setRequestMethod("GET")。

接下来就可以进行一些自由的定制了,比如设置连接超时,读取超时的毫秒数,以及服务器希望得到的一些消息头。这部分内容需要根据实际情况进行编写。

connection.setConnectTimerout(8000);

connection.setReadTimesout(8000);

之后调用getInputStream()方法就可以获取到服务器返回的输入流,剩下的任务就是对数据流进行读取了。inputstram in=connection,getInputStream();

最后可以调用disconnect()方法将这个http连接关闭。connection.disconnect();