Retour aux articles
  • 02.03.2021

Développement mobile : introduction à Android JetPack

Développement mobile : introduction à Android JetPack

Les bibliothèques de support Android sont utilisées dans presque toutes les applications Android pour surmonter les problèmes de compatibilité entre les différentes versions du système d'exploitation Android et les appareils. Ces bibliothèques permettent également aux utilisateurs d'ajouter divers types de widgets mis à jour dans l'application. Au fil du temps, ces bibliothèques sont mises à jour en fonction des dernières versions d'Android. 

Google a lancé Android Jetpack en 2018. Les bibliothèques de support existantes, les composants de l'architecture d'Android sont rassemblés avec un ajout de la bibliothèque KTX d'Android en une seule entité modulaire et sont appelés Android Jetpack. Ainsi, Jetpack n'est rien d'autre qu'un ensemble de composants logiciels, de bibliothèques, d'outils et de conseils pour aider au développement d’applications Android. 

 

Android Jetpack : Les avantages

  • Forme un moyen recommandé pour l'architecture d'une application grâce à ses composants
  • Éliminer le boilerplate code
  • Simplifier une tâche complexe
  • Fournir une compatibilité ascendante car les bibliothèques comme le support sont dégroupées de l'API Android et sont reconditionnées dans le paquet androidx.*
  • La productivité intégrée de l'intégration de Kotlin

Android Jetpack : Les Composants

Les composants logiciels d'Android Jetpack ont été divisés en 4 catégories :

  • Les fondations
  • L'architecture
  • Le comportement
  • L’UI

Tous ces composants consistent en une vaste collection de bibliothèques qui sont construites de manière à fonctionner ensemble et à créer des applications mobiles solides. 

Android Jetpack : Composants de la fondation

Les composants du système central des applications Android se trouvent dans la zone de fondation de Jetpack. L'extension Kotlin pour le support linguistique et les bibliothèques de test y sont également présentes. La rétrocompatibilité est assurée à partir des bibliothèques présentes dans ce composant. 

Les composants de la fondation :

MultiDex : Dès que le nombre de méthodes, toutes classes confondues, dans une application dépasse la barre des 65 536. Le système divise les classes et crée leur fichier zip appelé fichier .dex. Le composant MultiDex permet de prendre en charge les fichiers dex collectifs d'une application.

AppCompat : Tous les composants de la bibliothèque v7 comme RecyclerView, GridLayout, CardView, etc. sont inclus dans la bibliothèque AppCompat. Elle contient le support de l'implémentation de l'interface utilisateur de conception de matériel qui aide à dégrader les anciennes versions d'Android.

Android KTX : Cette bibliothèque comprend un ensemble d'extensions Kotlin conçues pour écrire un code concis et pour rendre le processus de développement plus fluide lorsque les développeurs utilisent le langage Kotlin.

Test : Cette partie comprend le framework de test UI Espresso pour le test de l'interface utilisateur d'exécution et AndroidJUnitRunner pour les tests unitaires sous Android.

Android Jetpack : Composants de l’architecture

Ce composant d'Android Jetpack se compose de huit bibliothèques et outils qui sont responsables de la construction d'applications solides et maintenables. Ce composant aide également à la bonne gestion des données utilisées par l'application ainsi qu'à la conception de modèles d'architecture d'application. 

Les composants de l’architecture :

Liaison de données ou data binding : Fournir la possibilité de lier les données de l'application avec la mise en page XML. Le Data Binding est très utile pour mettre à jour les données des vues de manière dynamique.

LiveData : Notifie la vue et met automatiquement à jour l'interface utilisateur lorsqu'il y a un changement dans la base de données.   

LifeCycle : Cette bibliothèque gère le cycle de vie des activités et des fragments dans l'application et permet également d'écouter les événements du cycle de vie d'autres composants.

Navigation : Contient toutes les ressources nécessaires à la navigation dans l'application. À l'aide d'une visionneuse de navigation intégrée dans Android Studio, les développeurs peuvent concevoir visuellement la navigation entre les activités et/ou les fragments.

ViewModel : Facilite la gestion des données liées à l'interface utilisateur en tenant compte du cycle de vie. En outre, il reconstruit l'activité ou le fragment lors de tout changement de configuration, comme la rotation de l'appareil.

WorkManager : Résout le problème de l'écriture d'un code différent pour la gestion des tâches de fond dans une version différente d'Android.

Paging : Charge les données progressivement dans le RecyclerView de l'application à partir de la source de données.

Room : Cette bibliothèque facilite le processus d'accès à la base de données SQLite dans l'application Android. Room effectue également un contrôle à la compilation du code SQL écrit pour effectuer des requêtes.

Android Jetpack : Composants de comportement 

Ce domaine de Android jetpack couvre les bibliothèques qui permettent aux utilisateurs d'interagir avec l'application via l'interface utilisateur. Ce composant intègre les services standards d'Android comme la notification, le téléchargement, les autorisations, le partage, l'assistant, etc. 

Les composants de comportement :

DownloadManager : Aide au téléchargement de fichiers en arrière-plan. Il s'autogère et résout les problèmes tels que la perte de connexion, le réessai et le redémarrage du système pendant le téléchargement.

Autorisations : Responsable de la fourniture des API compatibles requises pour la vérification et la demande d'autorisations dans l'application.

Notifications : Elle fournit l'API utilisée dans la notification et est de nature rétrocompatible.

Partage : Facilite le partage et la réception d'informations/de contenu avec d'autres applications. Il fournit une action de partage appropriée pour la barre d'action d'une application afin de partager les données.

Média et lecture : Cette bibliothèque comprend les classes MediaPlayer et AudioManager. Elle fournit les API rétrocompatibles pour la lecture des médias.

Slices : Aide à la création d'éléments de l'interface utilisateur qui sont de nature flexible et permet le partage des données en dehors de l'application.

Android Jetpack : Composants de l'UI

Il comprend des widgets, des animations, des palettes, etc. pour améliorer l'expérience de l'utilisateur. 

Les composants de l’UI :

Animation & Transition : Contient des API pour configurer la transition entre les écrans et les animations lors du déplacement des widgets ainsi que pour visualiser les mises à jour de la mise en page.

Emoji : Toutes sortes de polices et de caractères emoji sont gérés par EmojiCompat. Cette bibliothèque maintient les applications à jour avec les derniers emojis.

Fragment : C'est la classe de support des fragments qui inclut l'unité d'interface composable comme ListFragment, DialogFragment, et PreferenceFragmentCompat.

Layout : Contient des informations concernant la déclaration de différents types de layouts comme LinearLayout, RelativeLayout, ContraintLayout.

Palette : Cette bibliothèque permet aux développeurs de créer une palette et de sélectionner différentes couleurs à l'aide de la classe Palette.Builder. Elle permet de tirer les couleurs des thèmes et des images pour rendre l'interface utilisateur compatible avec les images présentes à l'écran.

Wear : Contient des bibliothèques et des classes pour le développement d'applications pour les wearables Android comme une montre connectée.

TV : Comprend des composants pour le développement d'applications Android TV.

Auto : Comprend des composants pour le développement d'applications pour Android Auto. Ces applications peuvent être testées sur l'écran de la voiture à l'aide de l'unité principale de bureau (DHU).