Skip to content

santialvarezcolombo/androidtraining-threading

Repository files navigation

#Training: Threading

Este proyecto consiste de un Activity que tiene 2 botones.

  • El primer botón hace un sleep en el main thread, bloqueandolo por 10 segundos.
  • El segundo botón, descarga un item de la API de Meli y muestra su nombre, precio y cantidad.

Pero el proyecto tiene algunos problemas...

  • Primero tocar el botón "Block UI Thread" y luego tratar de tocarlo nuevamente o tocar la pantalla en cualquier lado. Como el UI Thread esta bloqueado, no puede responder a sus acciones en la pantalla y les ofrece esperar o matar la app porque no esta respondiendo.
  • Luego, tocar el botón "Download Item". Porque crashea? Miren la excepción que muestra el LogCat.

Vamos a arreglar el problema del crash del segundo botón:

  • Pasar el código que se ejecuta cuando se toca el botón a una AsyncTask. La misma debería descargar el item y en el método 'OnPostExecute' debería actualizar las vistas.
  • Una vez que tenemos el código corriendo en una AsyncTask, decidimos que no es una gran idea y preferimos usar un Handler. Para hacerlo, debemos crear un Thread que ejecute la descarga del item y una vez que finaliza, notifique al Handler para que actualice las vistas. Para que esto funcione, que Looper se debería asociar al Handler?

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages