每个Android开发者在产品开发的过程中,都需要用到网络和服务器进行交互。而对于网络框架的使用和理解,往往可以看出一个开发者到底处于什么段位:
作为最为广泛使用的网络请求框架,OkHttp其实已经非常强大。但是在实际开发过程中,大家还是会遇到不少问题:无法适配自动线程的切换、调用复杂、网络请求接口配置繁琐、缓存失效……。而Retrofit的二次封装,可以很好地解决这些问题,为OkHttp如虎添翼。
Retrofit是一个非常强大的封装框架,可以配置不同HTTP client来实现网络请求,如OkHttp、httpclient等;可以定制请求方法的参数注解;可以同步或异步RxJava;轻松实现超级解耦;配置不同的反序列工具来解析数据,而且设计模式颇多,使用非常方便灵活:
Retrofit没有改变网络请求的本质,这部分仍旧由OkHttp完成。它最主要的特点在于设计模式非常丰富,可以通过注解直接配置请求,可以适配不同的http客户端,而且通过不同的Json Converter 来序列化数据,同时对RxJava提供支持。所以Retrofit + OkHttp + RxJava是当前高工最钟意的一套框架。
但这套框架其实是有一定门槛的,想要用好这套框架,对于Retrofit的核心原理一定要十分熟悉。
现在BATJ等大厂的面试套路都是一样的:他们会让你谈谈Retrofit的具体使用,你有在自己的项目中使用过吗?然后扩展到和这个知识点相关的更深层次的知识点细节,会对Retrofit刨根问底:
直到问的你答不上来为止,以此来探寻你的技术边际,这样就能更深入地了解你的技术能力。其实,想要成为真正的高级架构师除了熟练Retrofit外往往还需要掌握其他框架知识。
其实很简单, 我这里有一份Android源码解析学习资料,希望能帮助大家更好地学习掌握Retrofit的核心原理。
1.深入解析 Retrofit 源码
2.与其他网络请求开源库对比
3.Retrofit 的本质流程
4.创建网络请求接口的实例
5.外观模式
由于篇幅较长,细节内容比较多,暂时只展示这些
大家的支持和认可,是我分享的最大动力。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。