Android主流网络框架比较

作者: 一洼世界 | 来源:发表于2016-01-11 10:49 被阅读6548次

总结学习 便于以后温习 所引用的地址 侵权删 , 小白一个,多指教

引言

目前网络请求框架也比较多,本文针对封装的比较完善的Volley,Okhttp,Retrofit研究比较了,才知道选择哪个最适合。基础HttpUrlConnection,android-async-http,httpclient(废弃),xUtils3(作用广泛而不精),不讨论。

一.Volley

来源: http://a.codekk.com/detail/Android/grumoon/Volley%20%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90

google推出的异步网络请求框架和图片加载框架。特别适合数据量小,通信频繁的网络操作。android绝大多数都属于这种类型。

volley.png
1.Volley主要特点
1. 扩展性强
基于接口设计。
2. 一定程度上符合http规范。
返回包括ResponseCode 的处理,请求头的处理,缓存机制的支持。
3. 重试以及优先级的定义。
4. 2.3以上基于HttpUrlconnection。
2.3以下是Httpclient(没有这号机子了吧)
5. 提供简单的图片加载工具。
2.Volley的使用

基本的使用方法: http://www.kwstu.com/ArticleView/kwstu_20144118313429
直接返回Object的话,用Gson/FastJson与Volley的结合:http://www.cnblogs.com/freexiaoyu/p/3955137.html

3.Volley问题收录:

Volley的request默认回调到主线程中,如果有需求是要加载到sqlite等等仍需要在子线程中进行的操作 解决方案 : https://www.zhihu.com/question/36672622/answer/76003423

二.Retrofit

Retrofit 基于注解,提供JSON to POJO(Plain Ordinary Java Object,简单Java对象),POJO to JSON,网络请求(POST,GET,PUT,DELETE等)封装。

三.Okhttp 口碑相当好啊,

这个onResponse执行的线程并不是UI线程。

OKHttp源码位置 https://github.com/square/okhttp
泡网的源码分析:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0326/2643.html

Interceptor 云端响应拦截器, 设置缓存策略
1)应用拦截器(ApplicationInterceptors)
主要用于查看请求信息及返回信息,如链接地址、头信息、参数信息等
2)网络拦截器(Network Interceptors)
可以添加、删除或替换请求头信息,还可以改变的请求携带的实体。

缓存的使用方式>http://blog.csdn.net/copy_yuan/article/details/51524907

 noCache :不使用缓存,全部走网络
 noStore : 不使用缓存,也不存储缓存
 onlyIfCached : 只使用缓存
 maxAge :设置最大失效时间,失效则不使用
 maxStale :设置最大失效时间,失效则不使用
 minFresh :设置最小有效时间,失效则不使用
 FORCE_NETWORK : 强制走网络
 FORCE_CACHE :强制走缓存

一般的get、post、基于http文件上传、文件下载、加载图片、支持请求回调、直接返回对象、对象集合、支持session的保持。
会从很多常用的连接问题中自动恢复。如果您的服务器配置了多个IP地址,当第一个IP连接失败的时候,OkHttp会自动尝试下一个IP。OkHttp还处理了代理服务器问题和SSL握手失败问题。

张鸿洋版 有实现整合Gson

完整的封装地址: https://github.com/hongyangAndroid/okhttp-utils
使用手册 :http://blog.csdn.net/lmj623565791/article/details/47911083

相关文章

  • Android主流网络框架比较

    总结学习 便于以后温习 所引用的地址 侵权删 , 小白一个,多指教 引言 目前网络请求框架也比较多,本文...

  • Android 主流网络请求库对比

    主流的网络请求库-介绍 如今Android中主流的网络请求框架有: Android-Async-HttpVolle...

  • Android 架构之隔离层设计(实现一键切换主流网络框架)上

    前言 本篇文章主要讲解 Android 比较常用的网络框架封装,以及实现一句代码随意切换主流网络框架。读者也可根据...

  • Android网络

    主流网络框架分析与框架选择 volley1.默认Android2.3以上基于HttpURLConnection,2...

  • Android主流网络框架

    Android发展到目前,网络框架推陈出新,目前主要有四大成熟的框架,本文简要分析各大框架的实现原理。具体的用法可...

  • 一个简单的mvp框架

    android中的各种框架 在主流的开发框架中,目前比较流行的框架有MVC,MVP,MVVM框架。 MVC MVC...

  • Okhttp(Kotlin版)流程解读

    OkHttp是主流的网络请求框架,Android网络请求基本的项目封装也是有Rxjava+Retrofit+Okh...

  • 主流视频通话SDK比较

    视频通话框架 主流的视频通讯框架比较多,此文主要通过Android平台的来做SDK平台使用的比较。 现在的视频热门...

  • 主流视频通话SDK比较

    视频通话框架 主流的视频通讯框架比较多,此文主要通过Android平台的来做SDK平台使用的比较。 现在的视频热门...

  • 几个主流网络框架的比较

    声明:私用,技术交流使用,大部分摘抄 HttpURLConnection: HttpURLConnection是j...

网友评论

  • 爱言语论:鸿神的名字被你全打错了。。。
    一洼世界:哈哈 文章很久了。当时对鸿神还不熟 更正
  • 蓝山咖啡馆:您在引言中提到"基础HttpUrlConnection,android-async-http,httpclient废弃", 为什么废弃了呢?
    markRao:@蓝山咖啡馆 谷歌废弃httpclient主要原因是其代码过于臃肿,不易于扩展,后续优化太难,所以就废弃

本文标题:Android主流网络框架比较

本文链接:https://www.haomeiwen.com/subject/xzsfkttx.html