Handler Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Un controlador permite enviar y procesar y ejecutar Message
objetos asociados a un subproceso 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
- Herencia
- Derivado
- Atributos
Comentarios
Un controlador permite enviar y procesar y ejecutar Message
objetos asociados a un subproceso MessageQueue
. Cada instancia del controlador está asociada a un único subproceso y a la cola de mensajes de ese subproceso. Al crear un nuevo controlador, está enlazado a .Looper
Entregará mensajes y runnables a esa cola de mensajes de Looper y las ejecutará en el subproceso de ese bucle.
Hay dos usos principales para un controlador: (1) para programar mensajes y runnables que se ejecutarán en algún momento en el futuro; y (2) para poner en cola una acción que se va a realizar en un subproceso diferente del suyo propio.
La programación de mensajes se realiza con los #post
métodos , #postAtTime(Runnable, long)
, #postDelayed
#sendEmptyMessage
, #sendMessage
, , #sendMessageAtTime
y #sendMessageDelayed
. Las <versiones em>post</em> le permiten poner en cola objetos runnables a los que llamará la cola de mensajes cuando se reciben; las <versiones em>sendMessage</em> le permiten poner en cola un Message
objeto que contiene un conjunto de datos que el método del #handleMessage
controlador procesará (lo que requiere que implemente una subclase de Handler).
Al publicar o enviar a un controlador, puede permitir que el elemento se procese tan pronto como la cola de mensajes esté lista para hacerlo, o bien especificar un retraso antes de que se procese o el tiempo absoluto para que se procese. Los dos últimos permiten implementar tiempos de espera, tics y otro comportamiento basado en intervalos.
Cuando se crea un proceso para la aplicación, su subproceso principal se dedica a ejecutar una cola de mensajes que se encarga de administrar los objetos de aplicación de nivel superior (actividades, receptores de difusión, etc.) y las ventanas que crean. Puede crear sus propios subprocesos y comunicarse con el subproceso de aplicación principal a través de un controlador. Esto se hace llamando a los mismos <métodos em>post</em> o <em>sendMessage</em> que antes, pero desde el nuevo subproceso. El objeto Runnable o Message especificado se programará en la cola de mensajes del controlador y se procesará cuando corresponda.
Documentación de Java para android.os.Handler
.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código y se usan según los términos descritos en la creative Commons 2.5.
Constructores
Handler() |
El constructor predeterminado asocia este controlador con para |
Handler(Action<Message>) |
Un controlador permite enviar y procesar y ejecutar |
Handler(Handler+ICallback) |
El constructor asocia este controlador con para Looper el subproceso actual y toma una interfaz de devolución de llamada en la que puede controlar los mensajes. |
Handler(IntPtr, JniHandleOwnership) |
Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el entorno de ejecución. |
Handler(Looper) |
Use el proporcionado |
Handler(Looper, Handler+ICallback) |
Use el proporcionado Looper en lugar del predeterminado y tome una interfaz de devolución de llamada en la que controlar los mensajes. |
Propiedades
Class |
Devuelve la clase en tiempo de ejecución de este |
Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
JniIdentityHashCode |
Un controlador permite enviar y procesar y ejecutar |
JniPeerMembers |
Un controlador permite enviar y procesar y ejecutar |
Looper | |
PeerReference |
Un controlador permite enviar y procesar y ejecutar |
ThresholdClass |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
ThresholdType |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
Métodos
Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Object) |
CreateAsync(Looper) |
Cree un nuevo controlador cuyos mensajes publicados y ejecutables no estén sujetos a barreras de sincronización, como mostrar vsync. |
CreateAsync(Looper, Handler+ICallback) |
Cree un nuevo controlador cuyos mensajes publicados y ejecutables no estén sujetos a barreras de sincronización, como mostrar vsync. |
DispatchMessage(Message) |
Controle los mensajes del sistema aquí. |
Dispose() |
Un controlador permite enviar y procesar y ejecutar |
Dispose(Boolean) |
Un controlador permite enviar y procesar y ejecutar |
Dump(IPrinter, String) | |
DumpAsync(IPrinter, String) |
Un controlador permite enviar y procesar y ejecutar |
Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
GetHashCode() |
Devuelve un valor de código hash del objeto. (Heredado de Object) |
GetMessageName(Message) |
Devuelve una cadena que representa el nombre del mensaje especificado. |
HandleMessage(Message) |
Las subclases deben implementar esto para recibir mensajes. |
HasCallbacks(IRunnable) |
Compruebe si hay publicaciones pendientes de mensajes con devolución de llamada r en la cola de mensajes. |
HasMessages(Int32) |
Compruebe si hay publicaciones pendientes de mensajes con el código "what" en la cola de mensajes. |
HasMessages(Int32, Object) |
Compruebe si hay publicaciones pendientes de mensajes con el código "what" y cuyo obj es "object" en la cola de mensajes. |
JavaFinalize() |
Llamado por el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto. (Heredado de Object) |
Notify() |
Activa un único subproceso que está esperando en el monitor de este objeto. (Heredado de Object) |
NotifyAll() |
Activa todos los subprocesos que están esperando en el monitor de este objeto. (Heredado de Object) |
ObtainMessage() |
Devuelve un nuevo |
ObtainMessage(Int32) |
|
ObtainMessage(Int32, Int32, Int32) |
|
ObtainMessage(Int32, Int32, Int32, Object) |
|
ObtainMessage(Int32, Object) |
|
Post(Action) |
Un controlador permite enviar y procesar y ejecutar |
Post(IRunnable) |
Hace que se agregue runnable r a la cola de mensajes. |
PostAtFrontOfQueue(Action) |
Un controlador permite enviar y procesar y ejecutar |
PostAtFrontOfQueue(IRunnable) |
Envía un mensaje a un objeto que implementa Runnable. |
PostAtTime(Action, Int64) |
Un controlador permite enviar y procesar y ejecutar |
PostAtTime(Action, Object, Int64) |
Un controlador permite enviar y procesar y ejecutar |
PostAtTime(IRunnable, Int64) |
Hace que se agregue runnable r a la cola de mensajes para que se ejecute en un momento específico dado por <var>uptimeMillis</var>. |
PostAtTime(IRunnable, Object, Int64) |
Hace que se agregue runnable r a la cola de mensajes para que se ejecute en un momento específico dado por <var>uptimeMillis</var>. |
PostDelayed(Action, Int64) |
Un controlador permite enviar y procesar y ejecutar |
PostDelayed(IRunnable, Int64) |
Hace que se agregue runnable r a la cola de mensajes para que se ejecute después de que transcurre el tiempo especificado. |
PostDelayed(IRunnable, Object, Int64) |
Hace que se agregue runnable r a la cola de mensajes para que se ejecute después de que transcurre el tiempo especificado. |
RemoveCallbacks(Action) |
Un controlador permite enviar y procesar y ejecutar |
RemoveCallbacks(Action, Object) |
Un controlador permite enviar y procesar y ejecutar |
RemoveCallbacks(IRunnable) |
Quite las publicaciones pendientes de Runnable r que estén en la cola de mensajes. |
RemoveCallbacks(IRunnable, Object) |
Quite todas las publicaciones pendientes de Var <>ejecutable r</var> con token</var> de <>objeto que se encuentran en la cola de mensajes. |
RemoveCallbacksAndMessages(Object) |
Quite las publicaciones pendientes de devoluciones de llamada y mensajes enviados cuyo <var>obj</var> sea <var>token</var>. |
RemoveMessages(Int32) |
Quite las publicaciones pendientes de mensajes con el código "what" que se encuentran en la cola de mensajes. |
RemoveMessages(Int32, Object) |
Quite las publicaciones pendientes de mensajes con el código "what" y cuyo obj es "object" que se encuentran en la cola de mensajes. |
SendEmptyMessage(Int32) |
Envía un mensaje que contiene solo el valor what. |
SendEmptyMessageAtTime(Int32, Int64) |
Envía un mensaje que contiene solo el valor que se va a entregar en un momento específico. |
SendEmptyMessageDelayed(Int32, Int64) |
Envía un mensaje que contiene solo el valor que se va a entregar una vez transcurrido el tiempo especificado. |
SendMessage(Message) |
Inserta un mensaje al final de la cola de mensajes después de todos los mensajes pendientes antes de la hora actual. |
SendMessageAtFrontOfQueue(Message) |
Poner en cola un mensaje en la parte delantera de la cola de mensajes, que se procesará en la siguiente iteración del bucle de mensajes. |
SendMessageAtTime(Message, Int64) |
Poner en cola un mensaje en la cola de mensajes después de todos los mensajes pendientes antes de la hora absoluta (en milisegundos) <var>uptimeMillis</var>. |
SendMessageDelayed(Message, Int64) |
Poner en cola un mensaje en la cola de mensajes después de todos los mensajes pendientes antes (hora actual + delayMillis). |
SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
ToArray<T>() |
Un controlador permite enviar y procesar y ejecutar |
ToString() |
Devuelve una representación de cadena del objeto. (Heredado de Object) |
UnregisterFromRuntime() |
Un controlador permite enviar y procesar y ejecutar |
Wait() |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em> o <em>interrumpido</em>.<>< (Heredado de Object) |
Wait(Int64) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <notificado<>/em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Wait(Int64, Int32) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <notificado<>/em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Implementaciones de interfaz explícitas
IJavaPeerable.Disposed() |
Un controlador permite enviar y procesar y ejecutar |
IJavaPeerable.DisposeUnlessReferenced() |
Un controlador permite enviar y procesar y ejecutar |
IJavaPeerable.Finalized() |
Un controlador permite enviar y procesar y ejecutar |
IJavaPeerable.JniManagedPeerState |
Un controlador permite enviar y procesar y ejecutar |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Un controlador permite enviar y procesar y ejecutar |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Un controlador permite enviar y procesar y ejecutar |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Un controlador permite enviar y procesar y ejecutar |
Métodos de extensión
JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
JavaCast<TResult>(IJavaObject) |
Un controlador permite enviar y procesar y ejecutar |
GetJniTypeName(IJavaPeerable) |
Un controlador permite enviar y procesar y ejecutar |