android 网络框架 比较 选择

本文,借鉴了很多大神的博客,我不想,将此资料弄得很长,但是都能大致了解一下,有些图片用的是网络,侵权请告知,我会删除;

1.Volley

基于网络队列,适合小数据频繁通信,下载大量图片和文件不推荐书使用,如果项目比较大,建议自己二次封装,具体链接,我不就发了,自己百度和github吧。
官方:https://github.com/google/volley
Volley
android 网络框架 比较 选择_第1张图片
Volley is an HTTP library that makes networking for Android apps easier and, most importantly, faster.
For more information about Volley and how to use it, visit the Android developer training page.

2.xutils3-httpUtils

xutils有4个模块,已经从1.0到3.*,目前兼容android 6.0,使用它也是因为完全开源,还要一些很好用的模块;
DbUtils模块:
ViewUtils模块:
BitmapUtils模块:
使用和混淆等看官方说明:https://github.com/wyouflf/xUtils
xUtils3 api变化较多, 已转至 https://github.com/wyouflf/xUtils3

2.1HttpUtils模块 特点

1.支持同步,异步方式的请求;
2.支持大文件上传,上传大文件不会oom;
3.支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT请求;
4.下载支持301/302重定向,支持设置是否根据Content-Disposition重命名下载的文件;
5.返回文本内容的请求(默认只启用了GET请求)支持缓存,可设置默认过期时间和针对当前请求的过期时间。
备注:从3.5.0开始不再包含libwebpbackport.so, 需要在Android4.2以下设备兼容webp的请使用3.4.0版本.

3. okhttp

官方源码链接:https://github.com/square/okhttp
官网:http://square.github.io/okhttp/
简介:基于链接池,兼容到android2.3,使用简单,ip选择等
HTTP is the way modern applications network. It’s how we exchange data & media. Doing HTTP efficiently makes your stuff load faster and saves bandwidth…..
OkHttp supports Android 2.3 and above. For Java, the minimum requirement is 1.7.
源码解析:大神写的,很好,我就不写了
OKHttp源码解析(一)
OKHttp源码解析(二)
OKHttp源码解析(三)

OKHttp源码解析
此图来自这个大神
android 网络框架 比较 选择_第2张图片

4.retrofit

源码:https://github.com/square/retrofit
官方:http://square.github.io/retrofit/#introduction
介绍:Retrofit turns your HTTP API into a Java interface.

public interface GitHubService {
  @GET("users/{user}/repos")
  Call> listRepos(@Path("user") String user);
}

一句话,用注解来写http,底层封装的okhttp
retrofit最好和okhttp一起用,姊妹关系,都是square大公司的精品呀,用不用rxjava,自己权衡
好的文章链接
你真的会用Retrofit2吗?Retrofit2完全教程
备注:涉及到注解的学习,
有人问,okhttp和retrofit到底是什么关系,具体分析一下把,
这里看,鸿洋的一篇博客
Retrofit2 完全解析 探索与okhttp之间的关系

5 retrofit +Rxjava

Retrofit + RxJava + OkHttp 让网络请求变的简单-封装篇
备注:封装了一个service,一个loader,利用了rxjava的异步(通用观察者),不了解rxjava的,看看“扔物线”大师写的,绝对精辟。
给 Android 开发者的 RxJava 详解

6 NoHttp

官方:https://github.com/yanzhenjie/NoHttp
暂不评价,但是作者,绝对很用心思

7.网络错误码

android 网络框架 比较 选择_第3张图片

你可能感兴趣的:(android-网络,android,网络,框架)