Android网络通信(笔记)

来源:互联网 发布:virtualbox mac os 11 编辑:程序博客网 时间:2024/06/07 11:54

1.android-async-http(1.2MB):经典的网络异步通信函数库

1>支持异步http请求,并在匿名回调函数中处理响应

2>在子线程中发起http请求

3>内部采用线程池处理冰法

4>通过RequestParams类实现get/post参数构造

5>无需第三方库支持即可实现Multipart上传

6>支持多种移动环境下自动智能的请求重试机制                                                                                                      7>响应中实现自动的gzip解码,快速响应

8>内置多种形式的响应解析。eg:原生字节流,String,JSON对象,也可将reaponse写入文件                                 9>可以永久cookie保存,内部实现用的是Android的sharedPerference

10>6.0之后对开发者隐藏了HttpClient,可在编译器引入org.apache.http.legacy,在SDK/platforms/android

-25/optional,确保编译时不会出现找不到HttpClient的错误

dependencies{

compile 'cz.msebera.android:httpclient:4.3-6'

}

2.OKHttp(392KB):高效的http客户端,依赖于okio

1>支持http/2和SPDY,对同一主机所有请求共分享一个socket

2>当SPDY不可用,使用连接池减少请求延迟

3>透明的gzip压缩减少下载数据大小

4>缓存响应避免重复的网络请求

3.Volley(94KB):提供了语义级的缓存,适合数据量不大,但操作频繁的HttpURLConnection

4.Retrofit(333KB):默认使用GSON作为ISON解析器,使用OKHttp实现网络请求,三者通常配合使用,两者也可变更                                                                             

                                                                                                                                                                                                                                                                                             

原创粉丝点击