OkHttp в андроиде, не видит сетевой трафик или логи ответов - PullRequest
0 голосов
/ 10 апреля 2019

Я довольно новичок в разработке для Android, так что это один шаг вперед, два шага назад каждый раз, когда я что-то выясняю.У меня проблемы с отправкой запросов с использованием библиотеки OkHttp.Сначала я использовал Volley, и это работало, но для конечных точек API, которые я использую, требуется тело в некоторых запросах метода DELETE, которые Volley не поддерживает.

У меня есть следующее в методе onStart моей Activity.

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 обрабатывает фоновые процессы внутренне, так что это моя первая попытка использовать это.У меня были сообщения Log вне runOnUIThread изначально, так как они фактически не касались пользовательского интерфейса, я не думал, что он должен был быть в нем (это не дало ошибок, хотя все еще нет журналов)

Когда действиезапускает, я действительно получаю этот вывод в окне отладки, но я действительно не знаю, что это значит или говорит ли мне что-нибудь полезное о том, почему я не вижу запрос.

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 голосов
/ 10 апреля 2019

Я только что понял, что никогда не вызывал start () в Thread.Вот и все.

...