Okhttp

Posted 不积跬步-无以至千里

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Okhttp相关的知识,希望对你有一定的参考价值。

https://github.com/hongyangandroid/okhttputils

 

用法:

 compile ‘com.zhy:okhttputils:2.6.2‘

默认情况下,将直接使用okhttp默认的配置生成OkhttpClient,如果你有任何配置,记得在Application中调用initClient方法进行设置。

CookieJarImpl cookieJar = new CookieJarImpl(new PersistentCookieStore(getApplicationContext()));
OkHttpClient okHttpClient = new OkHttpClient.Builder()
// .addInterceptor(new LoggerInterceptor("TAG"))
.connectTimeout(10000L, TimeUnit.MILLISECONDS)
.readTimeout(10000L, TimeUnit.MILLISECONDS)
.cookieJar(cookieJar)
.addInterceptor(new LoggerInterceptor("TAG"))
//其他配置
.build();
OkHttpUtils.initClient(okHttpClient);



OkHttpUtils
.get()
.url(UrlBuilder.URL + url)
.params(hashMap)
.build()
.execute(new StringCallback() {
@Override
public void onError(Call call, Exception e, int id) {
ToastUtil.makeToast("请求异常" + e.toString());
LogUtil.e(requstTitle + "请求异常" + e.toString());
requstResult.failure();
}

@Override
public void onResponse(String response, int id) {
resultResponse(response);
}

});

OkHttpUtils
.post()
.url(UrlBuilder.URL + url)
.params(hashMap)
.build()
.execute(new StringCallback() {
@Override
public void onError(Call call, Exception e, int id) {
ToastUtil.makeToast("请求异常" + e.toString());
LogUtil.e(requstTitle + "请求异常" + e.toString());
requstResult.failure();
}

@Override
public void onResponse(String response, int id) {
resultResponse(response);
}

});

JSONObject jsonObject = new JSONObject(hashMap);
String json = jsonObject.toString();
OkHttpUtils
.postString()
.url(UrlBuilder.URL + url)
.content(json)
.build()
.execute(new StringCallback() {
@Override
public void onError(Call call, Exception e, int id) {
ToastUtil.makeToast("请求异常" + e.toString());
LogUtil.e(requstTitle + "请求异常" + e.toString());
requstResult.failure();
}

@Override
public void onResponse(String response, int id) {
resultResponse(response);
}

});
 

以上是关于Okhttp的主要内容,如果未能解决你的问题,请参考以下文章

Android OkHttp, 一行代码 OkHttp提升请求稳定性

从OKHttp框架看代码设计

OkHttp完全解析之整体调用流程

Okhttp代码

OKHTTP

如何使用 OkHttp 连接 SPDY 网站?