Funktionsweise von Handlern auf Android

February 16

Android-Java-Programmierung-Werke durch ein Konzept der Nachrichtenübergabe, in denen passieren Ausführungsthreads in einem Programm Nachrichten des ausführbaren Codes untereinander, um bestimmte Aufgaben oder Aufrechterhaltung der Kommunikation zwischen verschiedenen Teilen der Anwendung. Klasse "Handler", zusammen mit seiner Klasse "MessageQueue" organisieren, führen und versenden Sie Nachrichten und ausführbare Objekte durch den Code. Jeder Thread in einem Android-Programm kann eine Handlerklasse für den alleinigen Zweck der Umgang mit Daten und Nachrichten haben.

Android ausführbar Klasse

Die "Runnable"-Klasse stellt eine Schnittstelle für die Klasse "Thread". Klassen können Klasse Runnable implementieren, so dass Programme Instanzen dieser Klasse als Ausführung von Threads ausführen können. Über die Schnittstelle Runnable bedeutet, dass eine Klasse gleichzeitig mit anderen Klassen kann damit gleichzeitig mehrere Instanzen der Klasse Ausführung erfolgen können. Android Programme über-Handler können ausführbare Objekte als Nachrichten übergeben.

Android-Nachrichtenklasse

Die Android "Nachrichtenklasse" erleichtert die Weitergabe von Daten innerhalb der Android-Code. Ein Meldungsobjekt enthält eine beliebige Daten-Objekt, das entlang an einem Handler-Objekt zusammen mit Programmierer definierte Informationen bezüglich der Natur der Daten innerhalb des Objekts übergeben werden kann. Message-Objekte enthalten auch Methoden zum Abrufen von Daten aus anderen Quellen, dienen als Art "übergeben" Medium als die Daten und Metadaten programmgesteuert zwischen Programmen und Handler-Objekte übergeben werden können.

Android MessageQueue und Looper-Klassen

Die Klassen "MessageQueue" und "Greifer" dienen als Schnittstellen für die Verarbeitung von Nachrichten und Daten im Inneren einen Ausführungsthread. Die MessageQueue und Looper Klassen nehmen Nachrichten in einer einzigen Ausführungsthread versandt. Diese Nachrichten werden durch Objekte der Message-Klasse dargestellt. Die MessageQueue enthält eine Liste dieser Objekte Nachricht während Looper Klasse durchläuft die ihnen zur Verarbeitung durch den aktuellen Ausführungsthread an.

Handler

Ein Handler-Objekt kann der Programmierer zum Senden und Abrufen von Nachrichten und ausführbare Objekte aus Meldungswarteschlangen ein Ausführungsthread zugeordnet. Message-Objekte aus anderen Threads, oder ausführbaren Threads gesendet, um den aktuellen Ausführungsthread an, werden an den Ereignishandler durch die MessageQueue gesendet und vom Handler ausgeführt. Alle ausgehenden Nachrichten werden durch die Handler-Objekte auf ihrem Weg nach der MessageQueue gehen. Jeder Thread der Ausführung in einem Programm wird ein Handler-Objekt zugeordnet, zusammen mit einer einzigen MessageQueue haben.

Wie funktioniert der Handler

Die Handler-Instanz in einem Thread erhalten Runnable und Message-Objekte über die MessageQueue. Methoden werden dann durch den Programmierer bestimmte Objekte behandeln aufgerufen. Zum Beispiel die Methode "post" nimmt ausführbare Objekte und fügt sie in die MessageQueue. Ebenso erreichen die "SendMessage" Methoden die gleiche Sache mit Message-Objekte. Variationen dieser Methoden festzulegen, wann ein Handler MessageQueue Runnable oder Message-Objekte verarbeitet.