1. 框架功能簡介:暫時只有get、post兩個請求
2. 請求的主要流程和區別:
2.1 get請求:
(1)建立請求客戶的 okhttpclient物件
(2)建立請求構建器 request.bulder builder = new request.builder().url(...). build();
(3)建立請求物件:request request = builder.build();
(3)建立請求任務 call call
(4)發起非同步請求:call.enqueue(new callback());
2.2 post請求
(1)建立請求客戶的 okhttpclient物件
(2)建立請求構建器 request.builder builder = new request.builder().url(...). build();
(3)建立表單實體構建器:formbody.builder mformbuilder
(4)建立表單實體物件:formbody body
(5)建立請求物件:request request = builder.post(body);
(6)建立請求任務:call call
(7)發起非同步任務:call.enqueue(new callback());
2.3 兩者區別
請求構建器 builder 與請求物件request之間,post需要建立請求實體,並在請求實體中新增引數——封裝的框架需要考慮兩者區別,處理好復用**和分別處理
3. **
*okhttp的二次封裝
*get請求、post請求
* 客戶端非同步發起請求,(url(), targetclass(), 呼叫介面等)——okutils通過handler返回結果
public class okutils
// 構造方法,單例模式初始化mokhttpclient
pubic okutils(context context) }
}inithandler(context); }
private void inithandler(context context)
break;
case result_error:
if(mlistener != null && msg.obj != null)
break; }
} };
}// 位址列請求
public okutilsurl(stringbuilder url)
// 建立post表單body構建器
public okutilspost()
// 目標解析類
public okutilstargetclass(class claz)
// 新增引數
public okutilsaddparam(string key, string value)elseelse
} return this; }
public void execute(oncompletelistener listener)
if( murl.indexof("?" == -1)
if( mclaz == null)
// 建立請求構建器
二次封裝OKHttp網路框架(1)
1.框架功能簡介 暫時只有get post兩個請求 2.請求的主要流程和區別 2.1 get請求 1 建立請求客戶的 okhttpclient物件 2 建立請求構建器 request.bulder builder new request.builder url build 3 建立請求物件 requ...
Okhttp的二次封裝
首先,我們看乙個簡單的okhttp用法 trycatch ioexception e 從裡面思考我們可以看出我們需要封裝的內容 request.builder,request,call,首先看builder的封裝,以表單請求的builder為例,首先構造乙個所有builder的父類 header,p...
二次封裝函式 1
題目描述 已知函式 fn 執行需要 3 個引數。請實現函式 partial,呼叫之後滿足如下條件 1 返回乙個函式 result,該函式接受乙個引數 2 執行 result str3 返回的結果與 fn str1,str2,str3 一致 1 2 function partial fn,str1,s...