1.重要类介绍
call:
①:创建HTTP网络请求
②:提供了同步和异步的方法 execute() 和 enqueue()
③:生成Request对象 返回请求结果对象
callFactory
①:Call的工厂类
②:默认直接new OkHttpClient()
③:如果需要对 ok 进行详细的设置 需要构建OkHttpClient对象 然后传入
CallAdapter
①:网络请求适配器 用于对Call进行转化 将默认的OkHttpClient转换为适合被不同平台来调用的网络请求执行器形式
②:retrofit会通过运行时的不同平台 然后选择不同的CallAdapter
③:Retrofit中提供了四种CallAdapterFactory
ExecutorCallAdapterFactory 默认
GuavaCallAdapterFactory
Java8CallAdapterFactory
RxJavaCallAdapterFactoy 与RxJava联合使用
③:在默认的ExecuorCallAdapterFactory会使得Call在异步调用时指定的Executor线程上执行回调
CallAdapterFactorise
CallAdapter的工厂
CallBackExecutor 切换线程
回调方法的执行器 用来将回调传递的数据传到UI线程 利用了Handler的机制
ConverterFactories 对数据对象进行切换
①:数据转换器工厂 该对象用于转换数据 *可以用于对数据请求 响应数据 注解参数数据进行转换
②:responseBoayConverter() *完成ResponseBody到实际的返回类型的转换
③:requesBodyConverter() *完成对象到RequestBody的构造
④:检查type如果不是自己能处理的类型 就 return null 因为可以可以添加多个 因为不能处理 return null 还会去执行遍历后面的converter
ServiceMethod
①:一个ServiceMethod对象对应于网络请求接口里的一个方法 用于将我们接口中的方法转换为一个Request对象