Come gestori di lavoro su Android

February 22

Java Android Programming opera attraverso un concetto di passaggio di messaggi, in cui thread di esecuzione in un programma passano messaggi di codice eseguibile tra loro per svolgere compiti specifici o mantenere la comunicazione tra le diverse parti dell'applicazione. La classe "Handler", insieme con la sua classe "MessageQueue", organizzare, eseguire e inviare i messaggi e gli oggetti eseguibili attraverso il codice. Ogni thread in un programma Android può avere una classe Handler per il solo scopo di dati di movimentazione e messaggi.

Android classe Runnable

La classe "Runnable" rappresenta una interfaccia per la classe "filo". Le classi possono implementare la classe Runnable in modo che i programmi possono eseguire istanze di quella classe come thread in esecuzione. Utilizzando l'interfaccia Runnable significa che una classe può eseguire contemporaneamente con altre classi, in modo che più istanze di esecuzione classe possono verificarsi contemporaneamente. programmi Android, tramite gestori, possono passare oggetti eseguibili come messaggi.

Android Classe messaggio

Il "messaggio" Android classe facilita il passaggio di dati all'interno del codice di Android. Un oggetto del messaggio contiene un oggetto dati arbitrario che può essere passato insieme a un oggetto Handler, insieme alle informazioni programmatore definite per quanto riguarda la natura dei dati all'interno dell'oggetto. Messaggio oggetti contengono anche metodi per ottenere i dati provenienti da altre fonti, che serve come una sorta di mezzo di "passare" attraverso il quale i dati e meta-dati possono essere trasmessi a livello di codice tra i programmi e gli oggetti Handler.

Classi MessageQueue Android e Looper

I "MessageQueue" e le classi "Looper" fungono da interfacce per l'elaborazione dei messaggi e dei dati all'interno di un thread di esecuzione. Le classi MessageQueue e Looper prendere i messaggi inviati a un singolo thread di esecuzione. Questi messaggi sono rappresentati da oggetti della classe Message. Il MessageQueue contiene una lista di questi oggetti messaggi, mentre i cicli di classe Looper attraverso di loro per l'elaborazione da parte del thread corrente di esecuzione.

gestori

Un oggetto Handler permette al programmatore di inviare e ricevere messaggi e oggetti eseguibili da MessageQueues associate a un thread di esecuzione. Messaggio oggetti provenienti da altri thread, o thread eseguibili inviati al thread corrente di esecuzione, vengono inviati al gestore attraverso la MessageQueue, ed eseguito dal gestore. Tutti i messaggi in uscita passerà attraverso gli oggetti Handler nel loro cammino verso la MessageQueue. Ogni thread di esecuzione in un programma avrà un oggetto Handler associato con esso, e un singolo MessageQueue.

Come funziona Handler

L'istanza Handler in un thread riceverà Runnable e gli oggetti del messaggio attraverso il MessageQueue. I metodi vengono poi invocati dal programmatore per gestire oggetti specifici. Ad esempio, il metodo "post" prende oggetti Runnable e li mette in MessageQueue. Allo stesso modo, i metodi "SendMessage" realizzare la stessa cosa con gli oggetti dei messaggi. Variazioni di questi metodi specificano quando MessageQueue di un gestore elabora oggetti Runnable o un messaggio.