天天看點

Android開源架構---Retrofit

1、Retrofit原理

retrofit基于okHttp封裝成RESTFUL網絡請求架構,通過工廠模式配置各種參數,通過動态代理、注解實作網絡請求。retrofit利用了工廠模式,将分為生産網絡請求執行器(callFactory)、回調方法執行器(callbackExecutor)、網絡請求擴充卡(CallAdapterFactory)、資料轉換器(converterFactory)等幾種工廠。

callFactory負責生産okHttp的call,大家都知道okHttp通過生成call對象完成同步和異步的http請求。

callbackExecutor通過判斷不同的平台,生成對應平台的資料回調執行器。其中android端的回調執行器是通過handler回調資料。

CallAdapterFactory是資料解析工廠,一般我們配置json的資料解析擴充卡就行。

converterFactory是資料轉換的工廠,一般我們配置Rxjava的資料轉換就行。

retrofit通過動态代理模式實作接口類配置的注解、參數解析成HTTP對象,最後通過okHttp實作網絡請求。