Retrofit


Retrofit 底层是基于 OkHttp 实现的,与其他网络框架不同的是,它更多使用运行时注解的方式提供功能

原理

通过 java 接口以及注解来描述网络请求,并用动态代理的方式生成网络请求的 request,然后通过 client 调用相应的网络框架(默认 okhttp)去发起网络请求, 并将返回的 response 通过 converterFactorty 转换成相应的数据 model,最后通过 calladapter 转换成其他数据方式(如 rxjava Observable)

Retrofit 流程

1.通过解析 网络请求接口的注解 配置 网络请求参数
2.通过 动态代理 生成 网络请求对象
3.通过 网络请求适配器 将 网络请求对象 进行平台适配
4.通过 网络请求执行器 发送网络请求
5.通过 数据转换器 解析服务器返回的数据
6.通过 回调执行器 切换线程(子线程 ->>主线程)
7.用户在主线程处理返回结果

Retrofit 优点

1.可以配置不同 HTTP client 来实现网络请求,如 okhttp、httpclient 等;
2.请求的方法参数注解都可以定制;
3.支持同步、异步和 RxJava;
4.超级解耦;
5.可以配置不同的反序列化工具来解析数据,如 json、xml 等
6.框架使用了很多设计模式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值