HttpUtils的使用
1.從github上匯入框架 https://github.com/hongyangAndroid/okhttputils 專案使用的是 compile 'com.zhy:okhttputils:2.6.2'
2.在MyApplication的Oncreate()方法中進行初始化
HttpsUtils.SSLParams sslParams = HttpsUtils.getSslSocketFactory(null, null, null);
OkHttpClient.Builder okHttpClientBuilder = new OkHttpClient.Builder()
.sslSocketFactory(sslParams.sSLSocketFactory, sslParams.trustManager)
.cookieJar(new CookieJarImpl(new MemoryCookieStore()))//記憶體儲存cookie
.connectTimeout(10000L, TimeUnit.MILLISECONDS)
.readTimeout(10000L, TimeUnit.MILLISECONDS)
.hostnameVerifier(new HostnameVerifier() {//允許訪問https網站,並忽略證書
@Override
public boolean verify(String hostname, SSLSession session) {
return true;
}
});
OkHttpUtils.initClient(okHttpClientBuilder.build());
3.做了一個二次封裝,方便呼叫
/**
* post json請求
*
* @param obj 實體類物件
* @param stringCallback 對資料的處理,在ui執行緒執行
*/
public static void doPostByJson(Object obj, StringCallback stringCallback) {
if (obj == null || stringCallback == null) {
return;
}
OkHttpUtils
.postString()
.url(NewConstants.URL)
.content(new Gson().toJson(obj))
.mediaType(MediaType.parse("application/json; charset=utf-8"))
.build()
.execute(stringCallback);
}
4.在程式碼中直接呼叫doPostByJson方法即可,資料在onResponse中得到,同時可在此方法直接更新UI,是不是很方便??
private void loadByPostJson() {
Httputils.doPostByJson(initParams(), new StringCallback() {
@Override
public void onError(Call call, Exception e, int id) {
}
@Override
public void onResponse(String response, int id) {
tip(response);
tip("success");
}
});
}
相關文章
- HttpUtils 詳解HTTP
- 使用 httputils + protostuff 實現高效能 rpcHTTPRPC
- 在Java中,使用HttpUtils實現傳送HTTP請求JavaHTTP
- Solon 3.0 新特性:HttpUtils 瞭解一下HTTP
- Scrapy框架的使用之Scrapyrt的使用框架
- ActiveMQ的使用及整合spring的使用例項MQSpring
- Docker框架的使用系列教程(四)容器的使用Docker框架
- Urllib庫的使用一---基本使用
- ECharts的使用Echarts
- DbVisualizer的使用
- Typeof的使用
- iview 的使用View
- Trait 的使用AI
- lombok的使用Lombok
- MybatisGenerator的使用MyBatis
- valueForKeyPath的使用
- ThreadLocal的使用thread
- elasticsearch的使用Elasticsearch
- CoreData的使用
- joomla的使用OOM
- sqlmap的使用SQL
- echars的使用
- SVG 的使用SVG
- FlowableAPI的使用API
- pycnblog的使用
- netcat的使用
- jextract的使用
- pinia的使用
- pip 的使用
- DBV 的使用
- Docker的使用Docker
- Promise的使用Promise
- SVN的使用
- EndNote的使用
- git的使用+Git
- git 的使用Git
- Bootstarp的使用boot
- GRPC的使用RPC
- Maven的使用Maven