Android的网络编程

220 阅读2分钟

Android的网络编程

网络基础知识

IP地址和端口号

IP地址:网络中每台计算机都有唯一的IP地址作为标识

端口号:计算机中正在运行的进程

网络协议

OSI七层模型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层

TCP/IP概念模型:应用层、传输层、网络层、链路层

HttpURLConnection 访问HTTP资源的步骤:

1、根据URL地址创建URL对象

2、使用URL对象的openConnection( )方法获取HTTpURLConnection对象

3、设置连接的属性,包括GET/POST请求方式

4、输入、输出数据

5、关闭输入、输出流

6、在AndroidManifest配置文件中设置访问INTERNET的权限

httpClient的使用步骤:

创建HttpClient对象

创建请求方法的实例,并指定请求URL。如果需要发送GET请求,创建HttpGet对象;如果需要发送POST请求,创建HttpPost对象。

如果需要发送请求参数,可调用HttpGet、HttpPost共同的setParams(HetpParams

params)方法来添加请求参数;对于HttpPost对象而言,也可调用setEntity(HttpEntity entity)方法来设置请求参数。

调用HttpClient对象的execute(HttpUriRequest request)发送请求,该方法返回一个HttpResponse。

调用HttpResponse的getAllHeaders()、getHeaders(String

name)等方法可获取服务器的响应头;调用HttpResponse的getEntity()方法可获取HttpEntity对象,该对象包装了服务器的响应内

容。程序可通过该对象获取服务器的响应内容。

释放连接。无论执行方法是否成功,都必须释放连接

网络编程框架

Volley

1.Google官方推出的一套小巧的异步请求库,支持HttpClient、HttpURLConnection

2.基于网络列队,适合小数据频繁通信,请求线程池默认大小为4

OkHttp

1.高性能的http库,支持同步、异步,而且支持http2、websocket协议,api简介易用,实现了http缓存

2.Android网络访问的源码已用OKHttp代替了HttpURLConnection。

Retrofit

1.基于okHttp封装的给套RESTful网络请求框架,底层默认采用okHttp