Okhttp系列文章:
网络请求框架OkHttp3全解系列 - (一)OkHttp的基本使用
网络请求框架OkHttp3全解系列 - (二)OkHttp的工作流程分析
网络请求框架OkHttp3全解系列 - (三)拦截器详解1:重试重定向、桥、缓存(重点)
网络请求框架OkHttp3全解系列 - (四)拦截器详解2:连接、请求服务(重点)
网络请求框架OkHttp3全解系列 - (一)OkHttp的基本使用
网络请求框架OkHttp3全解系列 - (二)OkHttp的工作流程分析
网络请求框架OkHttp3全解系列 - (三)拦截器详解1:重试重定向、桥、缓存(重点)
网络请求框架OkHttp3全解系列 - (四)拦截器详解2:连接、请求服务(重点)
这次更新一篇使用中可能遇到的坑...
调用多次response.body().string()
//使用okhttp3访问网络
val builder = Request.Builder()
val request = builder.url(NEWS_URL).get().build()
val response = client.newCall(request).execute()
val responseBody = response.body()
val result = responseBody?.string()
//这里的.string()只能用一次 如果下面那一句不注释的话就会报错
//val result2 = responseBody?.string()
无网络情况下请求报错
最好先在请求前判断一次有无网络:
/**
* 网络连接是否正常
*
* @return true:有网络 false:无网络
*/
public static boolean isNetworkConnected(Context context) {
if (context != null) {
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();
if (mNetworkInfo != null) {
return mNetworkInfo.isAvailable();
}
}
return false;
}
版权属于:Vergil Wu
本文链接:https://www.vergil.com.cn/382.html
转载时须注明出处及本声明