Junior
Mis on Handler Androidis?
sobes.tech AI
Vastus AI-lt
Handler - see on mehhanism sõnumeid Message ja Runnable objekte saatmiseks ja töötlemiseks niidist, mis loob Handleri, teise niidi (või sama niidi).
See võimaldab koodi täitmise planeerimist kindlas niidis, isegi kui olete teises niidis. Handler on seotud Looper-ga, mis haldab sõnumijada niidis.
Peamised komponendid:
- Handler: saadab sõnumeid ja ülesandeid, töötleb neid seotud niidis.
- Looper: käivitab sõnumijada töötlemistsükli konkreetse niidi jaoks. Iga niit võib omada ainult ühte
Looperit`, kuid mitte iga niit seda automaatselt omab (näiteks peamine niit omab). - MessageQueue: sõnumijada, mis on seotud
Looper-ga. - Message/Runnable: objektid, mida saadetakse
Handleri kaudu täitmiseks.
Kasutus:
- UI uuendamine mitte-UI niidist.
- Ülesannete ajastamine viivitusega või kindlal ajal.
- Sõnumite saatmine niitide vahel.
// Handleri kasutamise näide UI uuendamiseks taustaniidist
Handler mainHandler = new Handler(Looper.getMainLooper()); // Saame peamise niidi Handleri
uus niit(() -> {
// Teeme mingi pikaajalise operatsiooni taustaniidis
String result = doBackgroundWork();
// Saadame tulemuse peamise niidi jaoks UI uuendamiseks
mainHandler.post(() -> {
// See kood täidetakse peamise niidi kontekstis
updateTextView(result);
});
}).start();
private String doBackgroundWork() {
// Pika töö imiteerimine
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "Taustatöö tulemus";
}
private void updateTextView(String text) {
// UI elemendi uuendamine
// someTextView.setText(text);
}