OkHttp.
вот у меня есть Activity, ViewModel и класс, который отвечает за выполнение запросов.
Активность будет подгружать данные по нажатии на кнопку.
Я нажимаю на кнопку и тем самым вызываю с ViewModel метод LoadData() который в свою очередб вызывает метод запуска запроса к серверу. Этот метод запуска запроса выполнит запрос в новом потоке.
И тут начались проблемы. Вот активность виснуть не должна ни капли. Выход сделать каалбек?
делаю так:
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(@NotNull Call call, @NotNull IOException e) {
}
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
}
});
Но что мне писать в onResponse?
Создавать внутри ViewModel обьект MutuableLiveData<String> и обновлять его, а активити будет на него подписана?
Подскажите как правильно реализовывать работу между этим потоком и активити ибо такой подход мне кажеться глупым, а пукан знатно горит...
Всё что напишеш в onResponse будет в мейн треде. Создай MutableLiveData к которой view подписан и передай данные используя postValue
Обсуждают сегодня