Handler Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Un gestore consente di inviare ed elaborare ed elaborare Message oggetti Runnable associati a un thread.MessageQueue
[Android.Runtime.Register("android/os/Handler", DoNotGenerateAcw=true)]
public class Handler : Java.Lang.Object
[<Android.Runtime.Register("android/os/Handler", DoNotGenerateAcw=true)>]
type Handler = class
inherit Object
- Ereditarietà
- Derivato
- Attributi
Commenti
Un gestore consente di inviare ed elaborare ed elaborare Message oggetti Runnable associati a un thread.MessageQueue Ogni istanza del gestore è associata a un singolo thread e alla coda di messaggi del thread. Quando si crea un nuovo gestore, viene associato a un oggetto Looper. Recapita i messaggi e i messaggi eseguibili alla coda di messaggi di Looper ed eseguirli nel thread di Looper.
Esistono due usi principali per un gestore: (1) per pianificare i messaggi e i runnable da eseguire in un determinato momento in futuro; e (2) per accodare un'azione da eseguire su un thread diverso da quello dell'utente.
La pianificazione dei messaggi viene eseguita con i #postmetodi , #postAtTime(Runnable, long)#postDelayed, #sendEmptyMessage#sendMessage, #sendMessageAtTimee #sendMessageDelayed . Le <versioni em>post</em> consentono di accodare gli oggetti Runnable da chiamare dalla coda di messaggi al momento della ricezione. Le <versioni em>sendMessage</em> consentono di accodare un Message oggetto contenente un bundle di dati che verrà elaborato dal metodo del #handleMessage gestore (che richiede l'implementazione di una sottoclasse di Handler).
Quando si pubblica o si invia a un gestore, è possibile consentire l'elaborazione dell'elemento non appena la coda dei messaggi è pronta a farlo oppure specificare un ritardo prima che venga elaborato o tempo assoluto per l'elaborazione. Gli ultimi due consentono di implementare timeout, tick e altri comportamenti basati sui tempi.
Quando viene creato un processo per l'applicazione, il thread principale è dedicato all'esecuzione di una coda di messaggi che si occupa della gestione degli oggetti applicazione di primo livello (attività, ricevitori di trasmissione e così via) e di tutte le finestre create. È possibile creare thread personalizzati e comunicare con il thread principale dell'applicazione tramite un gestore. A tale scopo, chiamare gli stessi <metodi em>post</em> o <em>sendMessage</em> di prima, ma dal nuovo thread. L'oggetto Runnable o Message specificato verrà quindi pianificato nella coda dei messaggi del gestore ed elaborato quando appropriato.
Documentazione java per android.os.Handler.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Costruttori
| Nome | Descrizione |
|---|---|
| Handler() |
Il costruttore predefinito associa questo gestore all'oggetto |
| Handler(Action<Message>) |
Inizializza una nuova istanza della classe Handler. |
| Handler(Handler+ICallback) |
Il costruttore associa questo gestore all'oggetto Looper per il thread corrente e accetta un'interfaccia di callback in cui è possibile gestire i messaggi. |
| Handler(IntPtr, JniHandleOwnership) |
Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime. |
| Handler(Looper, Handler+ICallback) |
Usare l'oggetto fornito Looper anziché quello predefinito e eseguire un'interfaccia di callback in cui gestire i messaggi. |
| Handler(Looper) |
Usare l'oggetto fornito |
Proprietà
| Nome | Descrizione |
|---|---|
| Class |
Restituisce la classe di runtime di questo |
| Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
| JniIdentityHashCode |
Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| JniPeerMembers |
Fornisce metadati del membro peer JNI per questo tipo. |
| Looper |
Ottiene il valore Looper. |
| PeerReference |
Ottiene il riferimento all'oggetto JNI per questo peer Java. (Ereditato da Object) |
| ThresholdClass |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
| ThresholdType |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
Metodi
| Nome | Descrizione |
|---|---|
| Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
| CreateAsync(Looper, Handler+ICallback) |
Creare un nuovo gestore i cui messaggi inviati e eseguibili non sono soggetti a barriere di sincronizzazione, ad esempio display vsync. |
| CreateAsync(Looper) |
Creare un nuovo gestore i cui messaggi inviati e eseguibili non sono soggetti a barriere di sincronizzazione, ad esempio display vsync. |
| DispatchMessage(Message) |
Gestire i messaggi di sistema qui. |
| Dispose() |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| Dispose(Boolean) |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| Dump(IPrinter, String) |
Scrive lo stato dell'oggetto nell'output fornito. |
| DumpAsync(IPrinter, String) |
Esegue in modo asincrono l'operazione corrispondente. |
| Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
| GetHashCode() |
Restituisce un valore del codice hash per l'oggetto. (Ereditato da Object) |
| GetMessageName(Message) |
Restituisce una stringa che rappresenta il nome del messaggio specificato. |
| HandleMessage(Message) |
Per ricevere messaggi, è necessario implementare le sottoclassi. |
| HasCallbacks(IRunnable) |
Controllare se sono presenti post in sospeso di messaggi con callback r nella coda dei messaggi. |
| HasMessages(Int32, Object) |
Controllare se sono presenti post in sospeso di messaggi con codice 'what' e il cui obj è 'object' nella coda dei messaggi. |
| HasMessages(Int32) |
Controllare se sono presenti post in sospeso di messaggi con codice "what" nella coda dei messaggi. |
| JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
| Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| NotifyAll() |
Riattiva tutti i thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| ObtainMessage() |
Restituisce un nuovo |
| ObtainMessage(Int32, Int32, Int32, Object) |
Uguale a |
| ObtainMessage(Int32, Int32, Int32) |
Uguale a |
| ObtainMessage(Int32, Object) |
Uguale a |
| ObtainMessage(Int32) |
Uguale a |
| Post(Action) |
Aggiunge l'oggetto eseguibile alla coda di messaggi del gestore. |
| Post(IRunnable) |
Determina l'aggiunta di Runnable r alla coda di messaggi. |
| PostAtFrontOfQueue(Action) |
Pubblica l'oggetto eseguibile per l'iterazione successiva della coda di messaggi del gestore. |
| PostAtFrontOfQueue(IRunnable) |
Invia un messaggio a un oggetto che implementa Runnable. |
| PostAtTime(Action, Int64) |
Invia il runnable per l'esecuzione al tempo di attività specificato. |
| PostAtTime(Action, Object, Int64) |
Invia il runnable per l'esecuzione al tempo di attività specificato. |
| PostAtTime(IRunnable, Int64) |
Fa sì che runnable r venga aggiunto alla coda dei messaggi, che deve essere eseguito in un momento specifico specificato da <var>uptimeMillis</var>. |
| PostAtTime(IRunnable, Object, Int64) |
Fa sì che runnable r venga aggiunto alla coda dei messaggi, che deve essere eseguito in un momento specifico specificato da <var>uptimeMillis</var>. |
| PostDelayed(Action, Int64) |
Inserisce il runnable da eseguire dopo il ritardo specificato. |
| PostDelayed(IRunnable, Int64) |
Fa sì che l'oggetto Runnable r venga aggiunto alla coda dei messaggi, che deve essere eseguito dopo il periodo di tempo specificato. |
| PostDelayed(IRunnable, Object, Int64) |
Fa sì che l'oggetto Runnable r venga aggiunto alla coda dei messaggi, che deve essere eseguito dopo il periodo di tempo specificato. |
| RemoveCallbacks(Action, Object) |
Rimuove i callback in sospeso per l'oggetto eseguibile specificato. |
| RemoveCallbacks(Action) |
Rimuove i callback in sospeso per l'oggetto eseguibile specificato. |
| RemoveCallbacks(IRunnable, Object) |
Rimuovere eventuali post in sospeso di Runnable <var>r</var> con object <var>token</var> presenti nella coda dei messaggi. |
| RemoveCallbacks(IRunnable) |
Rimuovere tutti i post in sospeso di Runnable r presenti nella coda dei messaggi. |
| RemoveCallbacksAndMessages(Object) |
Rimuovere eventuali post in sospeso di callback e messaggi inviati il cui <var obj>/var< è >var<token>/var<>. |
| RemoveMessages(Int32, Object) |
Rimuovere eventuali post in sospeso di messaggi con codice 'what' e il cui obj è 'object' che si trovano nella coda dei messaggi. |
| RemoveMessages(Int32) |
Rimuovere tutti i post in sospeso dei messaggi con codice "what" che si trovano nella coda dei messaggi. |
| SendEmptyMessage(Int32) |
Invia un messaggio contenente solo il valore. |
| SendEmptyMessageAtTime(Int32, Int64) |
Invia un messaggio contenente solo il valore da recapitare in un momento specifico. |
| SendEmptyMessageDelayed(Int32, Int64) |
Invia un messaggio contenente solo il valore da recapitare dopo il periodo di tempo specificato. |
| SendMessage(Message) |
Inserisce un messaggio alla fine della coda di messaggi dopo tutti i messaggi in sospeso prima dell'ora corrente. |
| SendMessageAtFrontOfQueue(Message) |
Accodare un messaggio nella parte anteriore della coda di messaggi, da elaborare nella successiva iterazione del ciclo di messaggi. |
| SendMessageAtTime(Message, Int64) |
Accodare un messaggio nella coda di messaggi dopo tutti i messaggi in sospeso prima del tempo assoluto (in millisecondi) <var>uptimeMillis</var>. |
| SendMessageDelayed(Message, Int64) |
Accoda un messaggio nella coda dei messaggi dopo tutti i messaggi in sospeso prima (ora corrente + delayMillis). |
| SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
| ToArray<T>() |
Crea una matrice gestita da questo wrapper di matrice Java. (Ereditato da Object) |
| ToString() |
Restituisce una rappresentazione di stringa dell'oggetto. (Ereditato da Object) |
| UnregisterFromRuntime() |
Annulla la registrazione di questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
| Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
| Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| IJavaPeerable.Disposed() |
Notifica al runtime di interoperabilità che il peer gestito è stato eliminato. (Ereditato da Object) |
| IJavaPeerable.DisposeUnlessReferenced() |
Rilascia questo Java peer a meno che non venga conservato da un altro riferimento gestito. (Ereditato da Object) |
| IJavaPeerable.Finalized() |
Notifica al runtime di interoperabilità che il peer gestito è stato finalizzato. (Ereditato da Object) |
| IJavaPeerable.JniManagedPeerState |
Ottiene lo stato che descrive la relazione tra questo peer gestito e il relativo riferimento JNI. (Ereditato da Object) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Imposta il codice hash dell'identità di interoperabilità per questo Java peer. (Ereditato da Object) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Imposta lo stato peer gestito e JNI per questo peer Java. (Ereditato da Object) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Imposta il riferimento all'oggetto JNI usato da questo peer gestito. (Ereditato da Object) |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ottiene il nome JNI del tipo dell'istanza |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Un gestore consente di inviare ed elaborare ed elaborare |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Provare a digitare |