Sobes.tech
Junior — Middle

Ինչ մեթոդներ են օգտագործվում Android-ում Fragment-ների միջև տվյալների փոխանակման համար?

sobes.tech AI

Պատասխան AI-ից

Android-ում տվյալների փոխանակումը Fragment-ների միջև կարող է իրականացվել մի քանի եղանակով:

  1. Արագությամբ Activity — fragment-ները հաղորդակցվում են ծնողական Activity-ի միջոցով, որը հանդես է որպես միջնորդ: Օրինակ, մի fragment կանչում է Activity-ի մեթոդը տվյալներ փոխանցելով, և Activity-ն փոխանցում է դրանք մյուս fragment-ին:

  2. Օգտագործելով ViewModel-ը կյանքի ցիկլի հետ միասին — ընդհանուր ViewModel, որը կապված է Activity-ի հետ, թույլ է տալիս fragment-ներին փոխանակել տվյալներ LiveData-ի միջոցով:

  3. Ինտերֆեյսների օգտագործում — fragment-ները սահմանում են տվյալների փոխանցման ինտերֆեյս, որը իրականացնում է Activity-ն:

  4. 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 ->
    // տվյալների մշակումը
}