Ինչ մեթոդներ են օգտագործվում Android-ում Fragment-ների միջև տվյալների փոխանակման համար?
sobes.tech AI
Պատասխան AI-ից
Android-ում տվյալների փոխանակումը Fragment-ների միջև կարող է իրականացվել մի քանի եղանակով:
-
Արագությամբ Activity — fragment-ները հաղորդակցվում են ծնողական Activity-ի միջոցով, որը հանդես է որպես միջնորդ: Օրինակ, մի fragment կանչում է Activity-ի մեթոդը տվյալներ փոխանցելով, և Activity-ն փոխանցում է դրանք մյուս fragment-ին:
-
Օգտագործելով ViewModel-ը կյանքի ցիկլի հետ միասին — ընդհանուր ViewModel, որը կապված է Activity-ի հետ, թույլ է տալիս fragment-ներին փոխանակել տվյալներ LiveData-ի միջոցով:
-
Ինտերֆեյսների օգտագործում — fragment-ները սահմանում են տվյալների փոխանցման ինտերֆեյս, որը իրականացնում է Activity-ն:
-
EventBus կամ այլ իրադարձությունների գրադարաններ — թույլ են տալիս ուղարկել իրադարձություններ միջկոմպոնենտային:
Օրինակ ViewModel-ով:
class SharedViewModel : ViewModel() {
val selected = MutableLiveData<String>()
fun select(item: String) {
selected.value = item
}
}
// Fragment A-ում
viewModel.select("Տվյալներ")
// Fragment B-ում
viewModel.selected.observe(viewLifecycleOwner) { data ->
// տվյալների մշակումը
}