在Android中的OkHttp,没有看到网络流量或日志响应

问题描述 投票:0回答:1

我对Android开发很新,所以这是向前迈出的一步,每当我想出一些东西时,我都会退后两步。我在使用OkHttp库发出请求时遇到问题。我一开始使用Volley并且工作正常,但是我正在使用的API端点在一些DELETE方法请求中需要一个正文,而Volley不支持这些请求。

我在Activity的onStart方法中有以下内容。

final Request request = new Request.Builder()
        .url("<some url>")
        .addHeader("Authorization", "<some token>")
        .build();

new Thread(() -> {
    try(Response response = mClient.newCall(request).execute()) {
        final String body = response.body() != null ? response.body().string() : null;

        runOnUiThread(() -> {
            if (body != null && !body.isEmpty()) {
                Log.d(TAG, "Successful response");
            }
            else {
                Log.d(TAG, "No body in response");
            }
        });
    }
    catch(final IOException error) {
        runOnUiThread(() -> {
            Log.d(TAG, "Exception: " + error.getMessage());
        });
    }
});

然而,android studio的网络分析器显示没有任何内容,并且没有记录日志消息,但如果我正确地执行此操作,我不知道。我确实让它像Volley中提到的那样工作,但是Volley在内部处理后台进程,所以这是我第一次尝试使用它。我最初在runOnUIThread之外的日志消息因为它实际上没有触及UI而我认为它不需要在其中(没有错误,但仍然没有日志)

当活动运行时,我确实在调试窗口中得到了这个输出,但我真的不知道这意味着什么,或者它是否告诉我有关为什么我没有看到请求的任何有用信息。

W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@5afe552
D/NetworkSecurityConfig: No Network Security Config specified, using platform default
W/etefromplaylis: Accessing hidden method Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setUseSessionTickets(Z)V (light greylist, reflection)
    Accessing hidden method Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setHostname(Ljava/lang/String;)V (light greylist, reflection)
    Accessing hidden method Lcom/android/org/conscrypt/OpenSSLSocketImpl;->getAlpnSelectedProtocol()[B (light greylist, reflection)
    Accessing hidden method Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setAlpnProtocols([B)V (light greylist, reflection)
W/etefromplaylis: Accessing hidden method Ldalvik/system/CloseGuard;->get()Ldalvik/system/CloseGuard; (light greylist, reflection)
    Accessing hidden method Ldalvik/system/CloseGuard;->open(Ljava/lang/String;)V (light greylist, reflection)
    Accessing hidden method Ldalvik/system/CloseGuard;->warnIfOpen()V (light greylist, reflection)
java android okhttp
1个回答
0
投票

我刚刚意识到我从未在Thread上调用start()。就是这样。

© www.soinside.com 2019 - 2024. All rights reserved.