Sobes.tech
Junior — Middle

Ako implementovať a použiť LiveData v rámci princípov Clean Architecture?

sobes.tech AI

Odpoveď od AI

V čistej architektúre sa LiveData zvyčajne používa na úrovni prezentácie (UI) na sledovanie zmien údajov a aktualizáciu rozhrania. Je dôležité oddeliť obchodnú logiku a údaje od komponentov špecifických pre Android.

Implementácia môže vyzerať takto:

  • UseCase (v vrstve Doména) vracia údaje cez Flow alebo iný reaktívny typ.
  • ViewModel (v vrstve Prezentácia) sa prihlási na UseCase a prevedie Flow na LiveData.
  • Activity alebo Fragment sleduje LiveData a aktualizuje UI.

Príklad ViewModelu v Kotlin:

class MyViewModel(private val getDataUseCase: GetDataUseCase) : ViewModel() {
    val data: LiveData<List<Item>> = getDataUseCase()
        .asLiveData()
}

Týmto spôsobom LiveData slúži ako adaptér medzi čistou obchodnou logikou a UI, zachovávajúc princípy oddelenia zodpovedností.