Middle
Androidda Looper nima?
sobes.tech AI
AIdan javob
Looper Android'da, xabarlar navbatini (MessageQueue) bilan ishlash uchun ishlatiladigan sinf. U bir ipni xabarlar navbati bilan bog'laydi va unga bu navbatdan xabarlarni qabul qilish va ishlash imkonini beradi.
Ishlash prinsipi:
- Looper yaratish: Xabarlar navbati bo'lishi kerak bo'lgan ipda
Looper.prepare()chaqiriladi. - Tsiklni boshlash:
Looper.loop()chaqiriladi. Bu chaqiruvLooperto'xtatilmaguncha ipni bloklaydi. Tsikl ichida,Looperdavomli ravishdaMessageQueuedan xabarlarni olib, ularni maqsadliHandlerga yuboradi. - Looper'ni to'xtatish: Ishni yakunlash uchun,
Looper.quit()yokiLooper.quitSafely()chaqiriladi.
Handler Looper ning MessageQueue ga xabar yuborish va ularni bog'langan ipda ishlash uchun ishlatiladi. Foydalanish misoli:
// Looper bo'lishi kerak bo'lgan ipda
new Thread(() -> {
Looper.prepare(); // 1. Bu ip uchun Looper va MessageQueue yaratiladi.
Handler handler = new Handler(Looper.myLooper()) { // 2. Bu ipning Looperi bilan bog'langan Handler yaratiladi.
@Override
public void handleMessage(Message msg) {
// Bu ipda xabarni ishlash
}
};
Looper.loop(); // 3. Xabarlarni ishlash uchun Looperni ishga tushirish.
}).start();
// Boshqa ipda, xabar yuborish
handler.sendMessage(/* sizning xabaringiz */);
Looper iplar asinxron vazifalarni bajarishi va ular o'rtasida muloqot qilish uchun zarur, ayniqsa UI ip bilan ishlashda (standart ravishda Looper bilan).