Sobes.tech
Junior — Middle

Milyen módszerekkel lehet szervezni az adatok cseréjét két fragmentum között egy alkalmazásban?

sobes.tech MI

Válasz az MI-től

Androidben több megközelítés is alkalmazható két fragment közötti adatok cseréjére:

  1. Az Activity-n keresztül — a fragmentek az anya-Activity-n keresztül kommunikálnak, amely közvetítőként működik. Az egyik fragment adatokat küld az Activity-nek, a másik pedig fogadja azokat.

  2. ViewModel és LiveData használatával — egy közös ViewModel, amely az Activity-hez kapcsolódik, lehetővé teszi a fragmentek számára, hogy megfigyeljék az adatok változásait, és reaktív módon cseréljenek adatokat.

  3. Visszahívási interfészek (Callback interfaces) — egy fragment megvalósít egy interfészt, amelyet a másik fragment az Activity-n keresztül hív meg.

  4. SharedPreferences vagy adatbázisok — tartósabb tárolás és adatcsere érdekében.

Példa ViewModel-lel:

class SharedViewModel : ViewModel() {
    val selectedItem = MutableLiveData<String>()
}

// Az első fragmentben
sharedViewModel.selectedItem.value = "Átadandó adatok"

// A második fragmentben
sharedViewModel.selectedItem.observe(viewLifecycleOwner) { data ->
    // Az adatok feldolgozása
}

Ez a módszer modernnek és kényelmesnek számít az adatok cseréjében ugyanazon Activity keretein belül lévő fragmentek között.