Асинхронный запрос Android

584
19 февраля 2017, 09:16

Доброй ночи, проблема такая. Есть activity и есть ApiController нужно из активити выполнить метод в апиконтроллере, который отправит post запрос на сервер, и при получении ответа изменится UI. Это нужно сделать асинхронно без блокировки UI. Не подскажете в как это реализовать (android)

Answer 1

Попробуйте либу OkHttp.

Подключите так:

compile 'com.squareup.okhttp3:okhttp:3.6.0'

С ней запросы выглядят так:

OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
    .url("http://publicobject.com/helloworld.txt")
    .build();
client.newCall(request).enqueue(new Callback() {
  @Override public void onFailure(Call call, IOException e) {
    e.printStackTrace();
  }
  @Override public void onResponse(Call call, Response response) throws IOException {
    if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
    Headers responseHeaders = response.headers();
    for (int i = 0, size = responseHeaders.size(); i < size; i++) {
      System.out.println(responseHeaders.name(i) + ": " + responseHeaders.value(i));
    }
    System.out.println(response.body().string());
  }
});
READ ALSO
Как сделать изменения в классе из библиотеки если доступ закрыт?

Как сделать изменения в классе из библиотеки если доступ закрыт?

Есть Библиотека и нужно в него добавить некоторые методы

422
Tess4j exeption

Tess4j exeption

Доброго времени суток! Пытаюсь реализовать пример использования Tess4j, столкнулся вот с таким исключением:

482
Как второй раз запустить поток?

Как второй раз запустить поток?

Дело в том что поток с первого раза корректно срабатывает и через цикл я останавливаю этот потокПотом через какое то время обратно запускаю...

440
Изменение TextView в Tabbed Activity в зависимости от даты

Изменение TextView в Tabbed Activity в зависимости от даты

Нужно, чтобы textView в фрагменте из Tabbed Acticity менялся в зависимости от даты в календаре, вот код этого окна: Tab1java

344