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í.