Ребяты, такой вопрос появился.
Пытаюсь написать клиентскую программу на андроид.
работаю с 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> и обновлять его, а активити будет на него подписана?
Подскажите как правильно реализовывать работу между этим потоком и активити ибо такой подход мне кажеться глупым, а пукан знатно горит...