Une application de chronomètre simple avec Jetpack Compose utilisant des services de premier plan et liés
Consultez YouTube pour un didacticiel vidéo complet
Cette application se compose essentiellement de 3 unités de texte différentes représentant les heures, les minutes et les secondes. Nous avons également deux boutons sur l'interface utilisateur. Le premier bouton sera modifié en fonction de l'état du service et le deuxième bouton nous permettra d'annuler le service de premier plan, ce qui entraînera une réinitialisation de notre chronomètre.
Vous pouvez contrôler le chronomètre soit par les boutons de l'interface utilisateur, soit avec le panneau de notification. Comme nous utilisons des services, même si nous fermons l'application, nous pouvons également suivre l'état du chronomètre via le panneau de notification.
Hilt est une bibliothèque d'injection de dépendances pour Android qui réduit le passe-partout lié à l'injection manuelle de dépendances dans votre projet. L'injection manuelle de dépendances nécessite que vous construisiez chaque classe et ses dépendances à la main, et que vous utilisiez des conteneurs pour réutiliser et gérer les dépendances.
Hilt fournit un moyen standard d'utiliser DI dans votre application en fournissant des conteneurs pour chaque classe Android de votre projet et en gérant automatiquement leurs cycles de vie. Hilt est construit sur la populaire bibliothèque DI Dagger pour bénéficier de l'exactitude de la compilation, des performances d'exécution, de l'évolutivité et de la prise en charge d'Android Studio fournies par Dagger.
Un service lié est une implémentation de la classe Service qui permet à d'autres applications de s'y lier et d'interagir avec lui. Pour fournir une liaison pour un service, vous devez implémenter la méthode de rappel onBind(). Cette méthode renvoie un objet IBinder qui définit l'interface de programmation que les clients peuvent utiliser pour interagir avec le service.
Les services de premier plan effectuent des opérations visibles pour l'utilisateur.
Les services de premier plan affichent une notification dans la barre d'état, afin que les utilisateurs sachent activement que votre application exécute une tâche au premier plan et consomme des ressources système.
Les appareils qui exécutent Android 12 (API niveau 31) ou supérieur offrent une expérience simplifiée pour les services de premier plan de courte durée. Sur ces appareils, le système attend 10 secondes avant d'afficher la notification associée à un service de premier plan. Il y a quelques exceptions ; plusieurs types de services affichent toujours une notification immédiatement.