Sobes.tech
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 при промяна на данните и разделя бизнес логиката от представянето.