05.- Crear una Linterna para Android - Botón on/off y clase Torch

Ya tenemos una linterna funcional que espera con impaciencia ser adornada con un botón que nos permita encender y apagar el flash sin tener que entrar y salir en la aplicación.
Tras añadir al Wake Lock que nos permitía mantener el flash encendido incluso con la pantalla apagada, vamos a modificar el archivo activity_main.xml (que define nuestra interfaz gráfica) y añadirle un botón. Posteriormente desde el MainActivity.java vamos a controlar qué es lo que pasará cuando pulsemos el botón.
Para no tener todo el código en el mismo archivo y que sea más fácil de mantener el programa, vamos a refactorizar (reordenar) el código y crear la clase Torch que encapsulará el comportamiento de la linterna.



El código de este vídeo, como siempre, en el repositorio de GitHub.
¡Añádele usabilidad a tu aplicación con una notificación!

2 comentarios :

  1. Muy buen tutorial. Si te es posible ayudarme, quisiera saber como mantener el flash encendido pero solo por cierto tiempo (digamos 3 seg), y luego apagarlo automáticamente.

    ResponderEliminar
    Respuestas
    1. Gracias!

      Para ello deberás usar Threads. Es un concepto avanzado pero existen ciertas clases, como la AsyncTask, que facilitan el uso de los mismos. Dentro de un nuevo Thread se podría hacer un Thread.sleep(3000); que pararía la ejecución 3 segundos (sin bloquear la interfaz gráfica debido a que es un nuevo Thread).

      Enlace a la documentación oficial de AsyncTask
      http://developer.android.com/reference/android/os/AsyncTask.html

      Saludos!!

      Eliminar