Recherche…


Introduction

Un Looper est une classe Android utilisée pour exécuter une boucle de message pour un thread, dont aucun ne leur est généralement associé.

Le Looper le plus commun dans Android est la boucle principale, également connue sous le nom de thread principal. Cette instance est unique pour une application et peut être accédée de manière statique avec Looper.getMainLooper() .

Si un Looper est associé au thread en cours, il peut être récupéré avec Looper.myLooper() .

Créer un LooperThread simple

Un exemple typique de l'implémentation d'un thread Looper donné par la documentation officielle utilise Looper.prepare() et Looper.loop() et associe un Handler à la boucle entre ces appels.

class LooperThread extends Thread {
    public Handler mHandler;

    public void run() {
        Looper.prepare();

        mHandler = new Handler() {
            public void handleMessage(Message msg) {
                // process incoming messages here
            }
        };

        Looper.loop();
    }
}

Exécuter une boucle avec un HandlerThread

Un HandlerThread peut être utilisé pour démarrer un thread avec un Looper . Ce looper peut alors être utilisé pour créer un Handler pour les communications avec ce dernier.

HandlerThread thread = new HandlerThread("thread-name");
thread.start();
Handler handler = new Handler(thread.getLooper());


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow