Не могу передать данные через LiveData в kotlin\android
Пытаюсь изучать архитектуру MVVM, и решил переделать внутрянку старого приложения погоды. К слову, старое приложение работало. Сейчас столкнулся с проблемой, никак не могу передать данные из класса бизнес-логики, в класс который будет управлять UI. Данные с сервера точно приходят, но либо не отправляются, либо не принимаются. Множество инструкций устаревшие, и вроде-как с 22го года поменялся синтаксис ViewModel, а с помощью офф документации я пока ничего понять не могу.
Вот мой класс DataModel:
open class DataModel: ViewModel() {
val responceWeatherData = MutableLiveData<WeatherParse>()
}
Вот обьявление переменной в классах, где я отправляю и где получаю данные:
`val responceWeatherData = DataModel().responceWeatherData`
Вот так я передаю данные: `responceWeatherData.value = response.body()`
Так принимаю данные и передаю в следующий класс для обработки :
responceWeatherData.observe(this@MainActivity, Observer {
parseWeatherData(it,binding, View(this)).parse()
Но всё что внутри observer не срабатывает, проверяю множеством выводов логов в консоль. Данные доходят до responceWeatherData.value = response.body() и пропадают. А в другом классе, где я должен принимать данные, код останавливается перед observer, и безконечно ждёт данных, которые не приходят.
У меня есть теория, что я просто создаю два одинаковых экземпляра класса DataModel, а не использую один и тот же. Но как в разных классах использовать один и тот же экземпляр - не понимаю.
Если ничего не понятно - напишите, я конкретизирую код.