-
源碼解析:
Request、Response、OkHttpClient都是builder模式
Response是有ResponseBody和響應(yīng)頭Headers組成的,同理reqeust
RequestBody有兩個(gè)實(shí)現(xiàn),有FormBody表單、MuyltipartBody上傳文件可以使用
Call讓HttpEngine真正執(zhí)行的東西
構(gòu)建好Request后,由HttpEngine執(zhí)行。
ConnectionPool是管理Connection的。CallBack需要響應(yīng)回調(diào)的時(shí)候?qū)崿F(xiàn)里面的兩個(gè)方法。
Dispatcher調(diào)度器,核心方法是executed方法,會(huì)將RealCall添加到隊(duì)列中,會(huì)通過(guò)HttpEngine去請(qǐng)求。
HttpEngine發(fā)請(qǐng)求、重發(fā)機(jī)制、response的構(gòu)建、
先去緩存里查看,沒有的話重新創(chuàng)建
核心方法是sendRequest()
OkHttpClinet將所有的類進(jìn)行相關(guān)聯(lián),綜合做處理。
查看全部 -
okhttp:
查看全部 -
okhttp?uml
查看全部 -
okHttp執(zhí)行執(zhí)行流程
查看全部 -
靜態(tài)代碼塊初始化OkHttpClient 對(duì)象
設(shè)置支持https ,設(shè)置連接超時(shí)時(shí)間,設(shè)置讀取超時(shí)時(shí)間,設(shè)置寫入超時(shí)時(shí)間,設(shè)置允許重定向,
設(shè)置sslSocketFactory
查看全部 -
創(chuàng)建主線程的Handler:
new Handler(Looper.getMainLooper());
查看全部 -
CommonRequest用來(lái)創(chuàng)建各種個(gè)樣的請(qǐng)求對(duì)象
查看全部 -
定義請(qǐng)求參數(shù)類RequestParams,封裝請(qǐng)求參數(shù)
查看全部 -
DisposeDataHandle代碼實(shí)現(xiàn)
查看全部 -
由于有各種不同的響應(yīng)形式,所以定義一個(gè)DisposeDataHandle類來(lái)進(jìn)行真正的響應(yīng)
查看全部 -
定義響應(yīng)接口
查看全部 -
如何將證書轉(zhuǎn)換成SSLSocketFactory
查看全部 -
封裝思路講解
查看全部 -
網(wǎng)絡(luò)模塊封裝的好處
查看全部 -
Callback對(duì)象運(yùn)行在非UI線程,所有類似Handler的方法將結(jié)果發(fā)送回UI線程中處理
查看全部 -
okhttp通過(guò)構(gòu)建FormBody發(fā)送Post請(qǐng)求
查看全部 -
Dispatcher 負(fù)責(zé)將每個(gè)RealCall添加到請(qǐng)求隊(duì)列中(同步的、異步的)
ConnectionPool 負(fù)責(zé)管理所有的Http連接
RealCall負(fù)責(zé)調(diào)用HTTPEngine發(fā)起請(qǐng)求
Callback負(fù)責(zé)回調(diào)請(qǐng)求的結(jié)果
httpClient負(fù)責(zé)組織上述類的協(xié)同工作
查看全部 -
Dns 對(duì)象
查看全部 -
executed(RealCall call) 將RealCall 對(duì)象添加到異步隊(duì)列中
查看全部 -
Dispatcher分發(fā)器類,源碼帶讀
又有一個(gè)線程池成員變量
查看全部 -
recover() 重連方法
查看全部 -
sendRequest()發(fā)送請(qǐng)求
檢查緩存,無(wú)緩存才真發(fā)請(qǐng)求
查看全部
舉報(bào)