Junior — Middle
Akými metódami je možné zorganizovať výmenu údajov medzi dvoma fragmentmi v aplikácii?
sobes.tech AI
Odpoveď od AI
V Androide je možné na výmenu dát medzi dvoma fragmentmi použiť niekoľko prístupov:
-
Cez Activity — fragmenty komunikujú cez rodičovskú Activity, ktorá slúži ako sprostredkovateľ. Jeden fragment odovzdá dáta do Activity, druhý ich prijme.
-
ViewModel s LiveData — spoločný ViewModel, spojený s Activity, umožňuje fragmentom sledovať zmeny v dátach a vymieňať si ich reaktívne.
-
Callback rozhrania — fragment implementuje rozhranie, ktoré volá iný fragment cez Activity.
-
SharedPreferences alebo databázy — na trvalejšie uloženie a výmenu dát.
Príklad s ViewModel:
class SharedViewModel : ViewModel() {
val selectedItem = MutableLiveData<String>()
}
// V prvom fragmente
sharedViewModel.selectedItem.value = "Dáta na odovzdanie"
// V druhom fragmente
sharedViewModel.selectedItem.observe(viewLifecycleOwner) { data ->
// Spracovanie prijatých dát
}
Tento spôsob sa považuje za moderný a pohodlný na výmenu dát medzi fragmentmi v rámci jednej Activity.