- App应用程序通过Retrofit 请求网络,实际上是使用Retrofit接口层封装请求参数,之后由OkHttp完成后续的请求操作。
- 在服务器返回数据之后,OkHttp将原始的结果交给Retrofit,Retrofit根据用户的需求对结果进行解析。
一、retrofit框架网络请求过程7个步骤:
-
- 添加Retrofit库的依赖,添加网络权限
-
- 创建接收服务器返回数据的类
-
- 创建用于描述网络请求的接口
-
- 创建Retrofit实例
-
- 创建网络请求接口实例
-
- 发送网络请求(同步/异步)
-
- 处理服务器返回的数据
二、代理
-
静态代理模式:为其他对象提供一种代理,用以控制对这个对象的访问
-
动态代理模式:代理类在程序运行时创建的代理方式
相比静态代理,动态代理的优势它能很方便的对我们代理类的函数进行统一的处理,不用频繁的修改每一个代理类函数
(1)jdk动态代理–需要客户端辅助写些接口来操作
(2)CGLIB–可以直接修改字节码 -
每个代理类的对象都会关联一个表示内部处理逻辑的InvocationHandler接口的实现
-
invoke方法的参数中可以获取参数
-
invoke方法的返回值被返回给使用者