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

时间:2019-04-09 23:24:51

标签: java android okhttp

我对android开发来说还很陌生,所以这是向前迈出的一步,每当我发现问题时就向后退两步。我在使用OkHttp库发出请求时遇到了麻烦。我最初使用Volley并可以正常工作,但是我使用的API端点要求Volley不支持的一些DELETE方法请求中有一个正文。

我的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之外有Log消息,因为它实际上并没有触及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)

1 个答案:

答案 0 :(得分:0)

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