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 con el 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 con el 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 ejecutará a esa cola de mensajes de Looper y las ejecutará en ese subproceso de Looper.
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 al suyo propio.
La programación de mensajes se realiza con los #postmétodos , #postAtTime(Runnable, long), #postDelayed#sendEmptyMessage, #sendMessage, , #sendMessageAtTimey #sendMessageDelayed . Las <versiones em>post</em> 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 especificar un retraso antes de que se procese o el tiempo absoluto para que se procese. Los dos últimos le permiten implementar tiempos de espera, tics y otro comportamiento basado en tiempo.
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> como antes, pero desde el nuevo subproceso. A continuación, el objeto Runnable o Message especificado se programarán en la cola de mensajes del controlador y se procesarán 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 abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.
Constructores
| Nombre | Description |
|---|---|
| Handler() |
El constructor predeterminado asocia este controlador con para |
| Handler(Action<Message>) |
Un controlador permite enviar y procesar y ejecutar |
| Handler(Handler+ICallback) |
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 tiempo de ejecución. |
| 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. |
| Handler(Looper) |
Use el proporcionado |
Propiedades
| Nombre | Description |
|---|---|
| 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
| Nombre | Description |
|---|---|
| Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Object) |
| CreateAsync(Looper, Handler+ICallback) |
Cree un nuevo controlador cuyos mensajes publicados y runnables no estén sujetos a barreras de sincronización, como mostrar vsync. |
| CreateAsync(Looper) |
Cree un nuevo controlador cuyos mensajes publicados y runnables 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, Object) |
Compruebe si hay publicaciones pendientes de mensajes con el código "what" y cuyo obj es "object" en la cola de mensajes. |
| HasMessages(Int32) |
Compruebe si hay entradas pendientes de mensajes con el código "what" en la cola de mensajes. |
| JavaFinalize() |
Lo llama 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, Int32, Int32, Object) |
|
| ObtainMessage(Int32, Int32, Int32) |
|
| ObtainMessage(Int32, Object) |
|
| ObtainMessage(Int32) |
|
| 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 proporcionado 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 proporcionado por <var>uptimeMillis</var>. |
| PostDelayed(Action, Int64) |
Un controlador permite enviar y procesar y ejecutar |
| PostDelayed(IRunnable, Int64) |
Hace que runnable r se agregue a la cola de mensajes para ejecutarse después de que transcurre el tiempo especificado. |
| PostDelayed(IRunnable, Object, Int64) |
Hace que runnable r se agregue a la cola de mensajes para ejecutarse después de que transcurre el tiempo especificado. |
| RemoveCallbacks(Action, Object) |
Un controlador permite enviar y procesar y ejecutar |
| RemoveCallbacks(Action) |
Un controlador permite enviar y procesar y ejecutar |
| RemoveCallbacks(IRunnable, Object) |
Quite las publicaciones pendientes de runnable <var>r</var con >token</>var<> de objeto que se encuentran en la cola de mensajes. |
| RemoveCallbacks(IRunnable) |
Quite las publicaciones pendientes de Runnable r que se encuentran en la cola de mensajes. |
| RemoveCallbacksAndMessages(Object) |
Quite las publicaciones pendientes de devoluciones de llamada y mensajes enviados cuya <var>obj</var> es <var>token</var>. |
| 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. |
| RemoveMessages(Int32) |
Quite las publicaciones pendientes de mensajes con el código "what" que se encuentra 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 frontal de la cola de mensajes, que se va a 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 despierta, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><> (Heredado de Object) |
| Wait(Int64, Int32) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
| Wait(Int64) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>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
| Nombre | Description |
|---|---|
| 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
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerció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 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |