Una sencilla aplicación de cronómetro con Jetpack Compose utilizando servicios en primer plano y encuadernados.
Consulte YouTube para ver el videotutorial completo
Esta aplicación consta básicamente de 3 unidades de texto diferentes que representan Horas, Minutos y Segundos. También tenemos dos botones en la interfaz de usuario. El primer botón se cambiará según el estado del servicio y el segundo botón nos permitirá cancelar el servicio en primer plano, lo que resultará en el reinicio de nuestro cronómetro.
Puede controlar el cronómetro mediante los botones de la interfaz de usuario o con el panel de notificaciones. Como estamos usando servicios, si incluso cerramos la aplicación, también podemos rastrear el estado del cronómetro mediante el panel de notificaciones.
Hilt es una biblioteca de inyección de dependencias para Android que reduce la necesidad de realizar una inyección de dependencia manual en su proyecto. La inyección manual de dependencias requiere que usted construya cada clase y sus dependencias a mano, y que use contenedores para reutilizar y administrar las dependencias.
Hilt proporciona una forma estándar de usar DI en su aplicación al proporcionar contenedores para cada clase de Android en su proyecto y administrar sus ciclos de vida automáticamente. Hilt se basa en la popular biblioteca DI Dagger para beneficiarse de la corrección en tiempo de compilación, el rendimiento en tiempo de ejecución, la escalabilidad y la compatibilidad con Android Studio que proporciona Dagger.
Un servicio vinculado es una implementación de la clase Servicio que permite que otras aplicaciones se vinculen a él e interactúen con él. Para proporcionar enlace para un servicio, debe implementar el método de devolución de llamada onBind(). Este método devuelve un objeto IBinder que define la interfaz de programación que los clientes pueden usar para interactuar con el servicio.
Los servicios en primer plano realizan operaciones que son perceptibles para el usuario.
Los servicios en primer plano muestran una notificación en la barra de estado, para que los usuarios sepan activamente que su aplicación está realizando una tarea en primer plano y está consumiendo recursos del sistema.
Los dispositivos que ejecutan Android 12 (nivel de API 31) o superior brindan una experiencia optimizada para servicios en primer plano de ejecución breve. En estos dispositivos, el sistema espera 10 segundos antes de mostrar la notificación asociada con un servicio en primer plano. Hay algunas excepciones; Varios tipos de servicios siempre muestran una notificación inmediatamente.