这次更新一篇使用中可能遇到的坑...

调用多次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;
    }
最后修改:2020 年 08 月 27 日 02 : 14 PM
如果觉得我的文章对你有用,请随意赞赏