Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我如何找到OkHttp 3.14支持哪些Android API版本?_Java_Android_Okhttp - Fatal编程技术网

Java 我如何找到OkHttp 3.14支持哪些Android API版本?

Java 我如何找到OkHttp 3.14支持哪些Android API版本?,java,android,okhttp,Java,Android,Okhttp,我使用的是OKHTTP 3.14,我的设备有API 24(安卓7.0),它支持吗? 因为当在具有更高级别的设备中发出http请求时,它工作得非常好,但在API级别为24的设备中则不行 编辑: 当我运行下面的函数时,它在比24更新的API中工作,但当我在API级别为24的旧设备中运行它时,它会抛出一个异常: private String get_OKHttp3Response(String _uri) { OkHttpClient httpClient = new OkHttpClient();

我使用的是OKHTTP 3.14,我的设备有API 24(安卓7.0),它支持吗? 因为当在具有更高级别的设备中发出http请求时,它工作得非常好,但在API级别为24的设备中则不行

编辑: 当我运行下面的函数时,它在比24更新的API中工作,但当我在API级别为24的旧设备中运行它时,它会抛出一个异常:

private String get_OKHttp3Response(String _uri) {
OkHttpClient httpClient = new OkHttpClient();
String strResp = "";
try {
    Request request = new Request.Builder().url(_uri).build();
    Response response = httpClient.newCall(request).execute();
    if (!response.isSuccessful()) {
        throw new IOException("Unexpected code " + response);
    }
    strResp = response.body().string();
    if (!strResp.equalsIgnoreCase("")) {
        return strResp;
    } else {
        return "";
    }
} catch (Exception e) {
    System.out.println( "get_OKHttp3Response Exception: " + e.getMessage() );
    return "";
}
Exception: null
})

当抛出异常时,我会收到以下消息:

private String get_OKHttp3Response(String _uri) {
OkHttpClient httpClient = new OkHttpClient();
String strResp = "";
try {
    Request request = new Request.Builder().url(_uri).build();
    Response response = httpClient.newCall(request).execute();
    if (!response.isSuccessful()) {
        throw new IOException("Unexpected code " + response);
    }
    strResp = response.body().string();
    if (!strResp.equalsIgnoreCase("")) {
        return strResp;
    } else {
        return "";
    }
} catch (Exception e) {
    System.out.println( "get_OKHttp3Response Exception: " + e.getMessage() );
    return "";
}
Exception: null

2020年6月25日

╔═════════╦══════════════════╦════════════════════════════════════════════════════════════════════════════╗
║ Version ║    Supported     ║                                   Notes                                    ║
╠═════════╬══════════════════╬════════════════════════════════════════════════════════════════════════════╣
║ 4.x     ║ ✅                ║ Android 5.0+ (API level 21+) and on Java 8+.                               ║
║ 3.14.x  ║ Until 2020-06-30 ║                                                                            ║
║ 3.12.x  ║ Until 2021-12-31 ║ Android 2.3+ (API level 9+) and Java 7+. Platforms may not support TLSv1.2 ║
╚═════════╩══════════════════╩════════════════════════════════════════════════════════════════════════════╝

OkHttp适用于Android 5.0+(API级别21+)和Java 8+。(来自github自述)。最新版本是
4.7.2
,也许您可以尝试更新它,因为您没有指定要发生的错误,或者没有向我们显示相关代码。我已经在Android 5到Android 11上成功地使用了OkHttp 3.14。@Michael看到编辑过的问题,我在那里发布了代码。请为异常添加stacktrace。