Junior — Middle
Как се осъществява прехвърлянето на данни от бизнес логиката към потребителския интерфейс?
sobes.tech AI
Отговор от AI
В Android обикновено прехвърлянето на данни от бизнес логиката към потребителския интерфейс се осъществява чрез ViewModel и LiveData (или StateFlow/Flow в съвременните подходи).
Основният модел е MVVM (Model-View-ViewModel):
- Бизнес логиката се намира в слоя Model или в репозиториите.
- ViewModel получава данните от бизнес логиката и ги съхранява в LiveData или други наблюдаеми обекти.
- UI (Activity/Fragment) се абонира за тези данни и се актуализира при тяхната промяна.
Пример с LiveData:
class MyViewModel : ViewModel() {
val data: MutableLiveData<String> = MutableLiveData()
fun loadData() {
// Получаване на данни от бизнес логиката
data.value = "Здравей, свят!"
}
}
// В Activity или Fragment
viewModel.data.observe(this) { value ->
textView.text = value
}
Този подход осигурява реактивно обновяване на UI при промяна на данните и разделя бизнес логиката от представянето.