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