Está en la página 1de 8

HERRAMIENTAS DE

PROGRAMACION MOVIL

Acceso a Redes de Servicio en Android/Shared Preference y SplashScreen


Alejandro Fernández
Semana 7
¿Qué son los Hilos?
Los hilos o thread son los procesos se crean cuando se lanza una aplicación
estos a sus vez tienen un hilo principal y este es el encargado del onCreate(),
onDraw() etc. Aeste también se le llama Hilo de interfaz de usuario.
Todas las actividades y servicios son ejecutadas por el hilo principal el cual cuando
hay sobre carga o exigencia se puede ocacionar un bloqueo de este proceso ya que
o recurso estarán ocupado, por ejemplo si se eneceita una descarga de internet, si
esta no termina el hilo principal no puede continuar con el resto de procesos o
lanza el onDraw(). Para solución de esto se debe crear un hilo de ejecución que se
encargue de esta labor tan intensa, esto es asegurar y resguardar que el hilo
principal, porque este no puede quedar bloqueado. En sisntensis es prioritario
evitar este comportamiento y saturación del hilo principal.
Para la representación de la imagen anterior y creación de un hilo de ejecución o
secundario necesitamos realizar los siguientes pasos:
• Extender la clase Thread.
• Implementar el médoto run().
• Para actualizar la interfaz de usuario, utilizar el método runOnUiThread().
Como ejemplo en el siguiente código se simula una nueva tarea con una
intensidad de 10 seg. asociado al presionar un botón este proceso solo realizara
el proceso señalado.
Si el código anterior lo integramos en otro porceso, puede apreciar que
se ejecutaria de una forma independiente sin afectar el funcionamiento
del hilo principal
ASYNYASK
Como su traducción lo dice tarea asincrónica, es una clase en Android que nos
permite ejecutar tareas en segundo plano, esto nos permite iniciar una tarea
sin que sea necesario terminar otro proceso en ejecución. Este función como
un hilo secuandario o de ejecución como se explicaba con anterioridad, como
por el ejemplo la siguiente imagen.
Como ejemplo de cracion de asyntask, donde p1, p2, p3 ha de ser una lista de
objetos de la clase Parametros, pudiendo introducirse un número variable de
parámetros. Ha y que resaltar que execute() es un método asíncrono. Esto
significa que, tras llamardo, se pondrá en marcha la tarea en otro hilo, pero en
paralelo se continuarán ejecutando las instrucciones que hayas escrito a
continuación de execute. En nombre se AsyncTask se ha puesto precisamente por
este comportamiento.
En el siguiente diagrama se muestra el orden de ejecución de estos métodos:
Si estamos realizando una tarea que puede prolongarse en el tiempo, resulta
muy importante mostrar al usuario cuando empieza, su progreso y cuando
termina. En el siguiente ejercicio vamos a ver un ejemplo algo más complejo
de AsyncTask, donde usaremos la clase ProgressDialog para mostrar la
evolución de la tarea.

También podría gustarte