Junior — Middle
Ինչպե՞ս կարելի է կազմակերպել տվյալների փոխանցումը ֆոնային պրոցեսից գլխավոր կատարման հոսք։
sobes.tech AI
Պատասխան AI-ից
Android-ում ֆոնային հոսքից հիմնական (UI) հոսք փոխանցելու համար սովորաբար օգտագործվում են մի քանի մոտեցումներ՝
- Handler: ստեղծվում է հիմնական հոսքում և ստանում է հաղորդագրություններ կամ Runnable ֆոնային հոսքից:
- runOnUiThread: Activity-ի մեթոդ, որը թույլ է տալիս կատարել կոդը UI հոսքում:
- LiveData: դիտվող օբյեկտ, որի թարմացումները ավտոմատ կերպով փոխանցվում են UI-ին:
- ViewModel + Coroutine with Dispatchers.Main: կորուտիները թույլ են տալիս փոխ switch անել հոսքերի միջև:
Օրինակ Handler-ով:
Handler mainHandler = new Handler(Looper.getMainLooper());
new Thread(() -> {
// Ֆոնային աշխատանք
String result = "Ֆոնային հոսքից տվյալներ";
mainHandler.post(() -> {
// UI թարմացում
textView.setText(result);
});
}).start();