# Android 网络编程

OkHttp

OkHttp 是一个高效的 HTTP 客户端,它的横空出世,让其他的网络请求框架都变得黯然失色。

Retrofit

Retrofit 是一个基于 OkHttp 的 RESTful 网络请求框架,功能强大、简洁易用及高可拓展性。Retrofit 说起来相当简单,简单到源码只有 37 个文件,其中 22 个文件是注解,还都和 HTTP 有关,真正暴露给用户的类并不多。

/ 封装 /

Retrofit 其实就是一个基于 OKHttp 的网络请求框架的封装。使请求接口和数据解析更加简洁明了。

为什么需要封装呢?说白了,就是为了解耦,为了方便日后切换到不同框架实现,而无需到处修改调用的地方。

比如我们项目当中经常会用到一些之前比较流行的的网络框架,后期这个框架停止维护或者功能无法满足业务需求,我们想切换到新的框架,可能调用的地方会非常多,如果不做封装,直接切换的话,改动量将非常非常大,而且还很有可能会有遗漏,风险度非常高。

OkHttp 是一个 HTTP 骑牛引擎 ,负责任何底层网络操作,缓存,请求和响应操作等

Retrofit 是在 OkHttp 之上构建的高级 REST 抽象。使请求接口和数据解析更加简洁明了

Android网络编程