Junior
Kas ir Handler Android?
sobes.tech AI
Atbilde no AI
Handler - tas ir mehānisms, lai sūtītu un apstrādātu Message un Runnable objektus no pavediena, kas izveido Handler, uz citu pavedienu (vai to pašu).
Tas ļauj plānot koda izpildi noteiktā pavedienā, pat ja jūs atrodaties citā pavedienā. Handler ir saistīts ar Looper, kas apstrādā ziņojumu rindu pavedienā.
Galvenās sastāvdaļas:
- Handler: sūta ziņojumus un uzdevumus, apstrādā tos saistītajā pavedienā.
- Looper: sāk ziņojumu apstrādes ciklu noteiktā pavedienā. Katram pavedienam var būt tikai viens
Looper, bet ne katrs pavedienu to automātiski ir (piemēram, galvenais pavedienu ir). - MessageQueue: ziņojumu rinda, kas saistīta ar
Looper. - Message/Runnable: objekti, kas tiek sūtīti caur
Handlerizpildei.
Pielietojums:
- UI atjaunināšana no ne-UI pavediena.
- Uzdevumu plānošana ar aizkavēšanos vai noteiktā laikā.
- Ziņojumu sūtīšana starp pavedieniem.
// Handler izmantošanas piemērs UI atjaunināšanai no fonā esoša pavediena
Handler mainHandler = new Handler(Looper.getMainLooper()); // Saņem galvenā pavediena Handler
jauns pavediens(() -> {
// Veic kādu ilgstošu darbību fonā
String result = doBackgroundWork();
// Nosūta rezultātu galvenajam pavedienam, lai atjauninātu UI
mainHandler.post(() -> {
// Šis kods tiks izpildīts galvenajā pavedienā
updateTextView(result);
});
}).start();
private String doBackgroundWork() {
// Ilgas darba imitācija
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "Darba rezultāts fonā";
}
private void updateTextView(String text) {
// UI elementa atjaunināšana
// someTextView.setText(text);
}