Retrofit2的好處
超級解耦
解耦?解什么耦?
我們在請求接口數(shù)據(jù)的時候,API接口定義和API接口使用總是相互影響,什么傳參、回調(diào)等,耦合在一塊。有時候我們會考慮一下怎么封裝我們的代碼讓這兩個東西不那么耦合,這個就是Retrofit的解耦目標(biāo),也是它的最大的特點。
可以配置不同HttpClient來實現(xiàn)網(wǎng)絡(luò)請求,如OkHttp、HttpClient...
支持同步、異步和RxJava
可以配置不同的反序列化工具來解析數(shù)據(jù),如json、xml...
請求速度快,使用非常方便靈活
Retrofit2的使用步驟
定義接口類(封裝URL地址和數(shù)據(jù)請求)
實例化Retrofit
通過Retrofit實例創(chuàng)建接口服務(wù)對象
接口服務(wù)對象調(diào)用接口中的方法,獲取Call對象
Call對象執(zhí)行請求(異步、同步請求)
Retrofit2的使用步驟
定義接口類(封裝URL地址和數(shù)據(jù)請求)
實例化Retrofit
通過Retrofit實例創(chuàng)建接口服務(wù)對象
接口服務(wù)對象調(diào)用接口中的方法,獲取Call對象
Call對象執(zhí)行請求(異步、同步請求)
網(wǎng)絡(luò)請求適配器(CallAdapter)
Retrofit支持多種網(wǎng)絡(luò)請求適配器方式:guava、Java8和rxjava
Retrofit2及OkHttp3的區(qū)別
Retrofit2使用注解設(shè)置請求內(nèi)容
Retrofit2回調(diào)主線程,OkHttp3回調(diào)子線程
Retrofit2可以做數(shù)據(jù)解析轉(zhuǎn)換
Retrofit2可以使用在REST ful網(wǎng)絡(luò)請求.