package com.migu.libnetwork; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import com.pukka.libcore.utils.ContextUtils; import com.pukka.libcore.utils.LogUtils; import java.io.IOException; import java.nio.charset.Charset; import okhttp3.MediaType; import okhttp3.Request; import okhttp3.RequestBody; import okio.Buffer; public class NetUtil { public static boolean isNetwork = true; /** * 判断是否有网络 * * @return 返回值 */ public static boolean isNetworkConnected() { if (!isNetwork) { return false; } Context context = ContextUtils.getApplication(); if (context != null) { ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo(); if (mNetworkInfo != null) { return mNetworkInfo.isAvailable(); } } return false; } private static String printParams(RequestBody body) { Buffer buffer = new Buffer(); try { body.writeTo(buffer); Charset charset = Charset.forName("UTF-8"); MediaType contentType = body.contentType(); if (contentType != null) { charset = contentType.charset(Charset.forName("UTF-8")); } String params = buffer.readString(charset); return params; } catch (IOException e) { e.printStackTrace(); } return ""; } public static void printHttpLog(boolean isNet, long startTime, Request request, String content) { String params = ""; long endTime = System.currentTimeMillis(); long duration = endTime - startTime; if (request.body() != null) { params = printParams(request.body()); } LogUtils.onlyD("Http request", "=================================== " + (isNet ? "有网请求" : "缓存请求") + " " + "HTTP START==================================="); LogUtils.longD("Http request", "\n| 请求地址:| " + request.url() + "\n| 请求参数:| " + params + "\n| 请求头:| " + request.headers() + "\n| 请求耗时:| " + duration + "毫秒"); LogUtils.longD("Http request", "请求返回:" + content); LogUtils.onlyD("Http request", "=================================== HTTP END " + "==================================="); // WzhLog.i("Http request","\n\n=================================== "+(isNet?"有网请求":"缓存请求")+" HTTP " + // "START==================================="); // WzhLog.i("Http request", // "\n| 请求地址:| " + request.toString() // + "\n| 请求参数:| " + params // + "\n| 请求耗时:| " + duration + "毫秒" // + "\n| 请求返回:| " + content); // WzhLog.i("Http request","\n=================================== HTTP END ===================================\n "); } }