Android Jetpack
Jetpack est une suite de bibliothèques qui permet aux développeurs de suivre les bonnes pratiques, de réduire le code récurrent et d'écrire du code qui fonctionne de manière cohérente sur toutes les versions d'Android et sur tous les appareils. Ainsi, ils peuvent se concentrer sur le code qui les intéresse.
Apprendre à utiliser Jetpack
Formation de base
Découvrez les bibliothèques Jetpack essentielles dans le cours Principes de base d'Android en langage Kotlin et réduisez le code récurrent dans votre application
Tutoriel pratique
Familiarisez-vous avec trois bibliothèques Jetpack qui simplifient votre couche de données : LiveData, ViewModel et Room.
Exemple d'application Sunflower
Découvrez comment les bibliothèques Jetpack les plus populaires peuvent être utilisées ensemble dans une application en production
Bibliothèques Jetpack Explorer toutes les bibliothèques
* Les bibliothèques les plus populaires et souvent utilisées sont listées en premier
activity * | Accédez à des API modulables basées sur Activity. |
appcompat * | Autorisez l'accès à de nouvelles API sur d'anciennes versions d'API de la plate-forme (nombre d'entre elles utilisant Material Design). |
appsearch * | Créez des fonctionnalités de recherche dans l'application personnalisées pour vos utilisateurs. |
camera * | Créez des applications d'appareil photo pour mobile. |
compose * | Définissez votre interface utilisateur de façon programmatique avec des fonctions modulables qui décrivent sa forme et ses dépendances de données. |
databinding * | Liez des composants d'interface utilisateur dans vos mises en page à des sources de données dans votre application à l'aide d'un format déclaratif. |
fragment * | Segmentez votre application en plusieurs écrans indépendants hébergés au sein d'une activité. |
hilt * | Étendez la fonctionnalité de Dagger Hilt pour permettre l'injection de dépendances de certaines classes à partir des bibliothèques AndroidX. |
lifecycle * | Créez des composants optimisés pour le cycle de vie qui peuvent ajuster leur comportement en fonction de l'état actuel du cycle de vie d'une activité ou d'un fragment. |
Material Design Components * | Composants modulaires et personnalisables de l'UI Material Design pour Android. |
navigation * | Créez et structurez l'interface utilisateur intégrée à votre application, gérez les liens profonds et naviguez d'un écran à un autre. |
paging * | Chargez des données sous forme de pages et présentez-les dans une RecyclerView. |
room * | Créez, stockez et gérez des données persistantes sauvegardées par une base de données SQLite. |
test * | Tests sur Android. |
work * | Planifiez et exécutez en arrière-plan des tâches différables et soumises à des contraintes. |
ads | Obtenez un identifiant publicitaire avec ou sans les services Play. |
annotation | Exposez des métadonnées qui aident les outils et les autres développeurs à comprendre le code de votre application. |
arch.core | Aide pour d'autres dépendances d'arche, y compris les règles de test JUnit applicables à LiveData. |
asynclayoutinflater | Gonflez les mises en page de manière asynchrone pour éviter les à-coups dans l'interface utilisateur. |
autofill | Améliorez la précision de la saisie automatique grâce aux suggestions d'extensions. |
benchmark | Mesurez avec précision les performances de votre code dans Android Studio. |
biometric | Authentifiez-vous à l'aide de la biométrie ou des identifiants de l'appareil, et effectuez des opérations de cryptographie. |
browser | Affichez les pages Web dans le navigateur par défaut de l'utilisateur. |
car-app | Créez des applications de navigation et de point d'intérêt pour Android Auto et Android Automotive OS. |
cardview | Implémentez le modèle de fiche Material Design avec des angles arrondis et des ombres projetées. |
collection | Réduisez l'impact sur la mémoire des collections nouvelles et existantes de petite taille. |
compose.animation | Créer des animations dans les applications Jetpack Compose afin d'enrichir l'expérience utilisateur. |
compose.compiler | Transformation de fonctions @Composable et prise en charge des optimisations avec un plug-in de compilation en Kotlin. |
compose.foundation | Conception d'applications Jetpack Compose avec des éléments de base prêts à l'emploi et extension de la base pour créer vos propres éléments de système de conception. |
compose.material | Création d'UI Jetpack Compose avec des composants Material Design prêts à l'emploi. Il s'agit du point d'entrée de niveau supérieur de Compose, conçu pour fournir des composants qui correspondent à ceux décrits sur www.material.io. |
compose.material3 | Création d'UI Jetpack Compose grâce aux composants Material Design 3, la nouvelle évolution de Material Design. Material 3 inclut des thématisations et des composants mis à jour ainsi que des fonctionnalités de personnalisation Material You telles que les couleurs dynamiques. Material 3 est conçu pour correspondre au nouveau style visuel et à l'UI du système Android 12. |
compose.runtime | Composants fondamentaux du modèle de programmation et de la gestion d'état de Compose, et environnement d'exécution principal du plug-in Compose Compiler à cibler. |
compose.ui | Les composants fondamentaux de l'interface utilisateur de Compose nécessaires pour interagir avec l'appareil, y compris la mise en page, le dessin et la saisie. |
concurrent | Retirez des tâches du thread principal à l'aide de coroutines et exploitez le potentiel de ListenableFuture. |
constraintlayout | Positionnez et dimensionnez les widgets de manière flexible à l'aide des emplacements relatifs. |
contentpager | Chargez et paginez des données ContentProvider dans un thread en arrière-plan. |
coordinatorlayout | Positionnez des widgets d'application de premier niveau, tels qu'AppBarLayout et FloatingActionButton. |
core | Ciblez les dernières fonctionnalités et API de la plate-forme, tout en prenant en charge les anciens appareils. |
core.uwb | Implémentez la BUL (bande ultralarge) sur les appareils compatibles. |
credentials | Cette bibliothèque fournit un accès unifié aux identifiants d'un utilisateur. Il peut s'agir des mots de passe, des clés d'accès et des identifiants fédérés. Cette bibliothèque doit être utilisée pour offrir une expérience de connexion fluide et sécurisée. |
cursoradapter | Exposez les données du curseur dans un widget ListView. |
customview | Implémentez des vues personnalisées. |
datastore | Stockez les données de manière asynchrone, cohérente et transactionnelle, en éliminant certains inconvénients de SharedPreferences. |
documentfile | Affichez un document fichier. |
draganddrop | Acceptez les données par glisser-déposer au sein d'une application ou à partir d'une autre application, et affichez une affordance de cible de glisser-déposer cohérente. |
drawerlayout | Implémentez un widget de panneau Material Design. |
dynamicanimation | Créez des animations fluides avec une API d'animation basée sur la physique. |
emoji | Affichez des emoji sur les appareils actuels et plus anciens. |
emoji2 | Affichez des emoji sur les appareils actuels et plus anciens. |
enterprise | Créez des applications professionnelles. |
exifinterface | Lisez et écrivez des balises EXIF de fichier image. |
games | Utilisez le SDK Android Game de manière native dans votre application pour effectuer des tâches complexes liées aux jeux, comme l'optimisation des rythmes de frames. |
glance | Créez des mises en page pour des surfaces distantes à l'aide d'une API semblable à Jetpack Compose. |
graphics | Exploiter les fonctionnalités graphiques de plusieurs versions de la plate-forme Android |
gridlayout | Implémentez une mise en page en grille. |
health | Créez des applications de santé performantes, indépendamment de la plate-forme. |
health.connect | Permet aux développeurs de lire ou d'écrire les informations de santé et de remise en forme d'un utilisateur. |
heifwriter | Encodez une image ou une collection d'images au format HEIF à l'aide des codecs disponibles sur l'appareil Android. |
input | Réduisez la latence des interactions d'entrée en prédisant les futurs MotionEvents. |
interpolator | Utilisez des interpolateurs d'animation sur les anciennes plates-formes. |
javascriptengine | Habilitez votre application Android à évaluer du JavaScript. |
jetifier | Outil autonome qui migre les dépendances d'une bibliothèque de l'ancienne bibliothèque de support vers des dépendances AndroidX équivalentes. |
leanback | Créez des applications pour les appareils Android TV à l'aide de widgets et de fragments de modèles compatibles avec les pavés directionnels. |
legacy | Cet artefact et ses classes sont obsolètes. À partir d'Android 8, les restrictions liées à la vérification d'antécédents rendent cette classe inutile. |
loader | Chargez des données pour votre interface utilisateur après une modification de configuration. |
localbroadcastmanager | Cet artefact et ses classes sont obsolètes. Utilisez plutôt LiveData ou des flux réactifs. |
media | Partagez des contenus et des commandes multimédias avec d'autres applications. Remplacé par media2. |
media2 | Partagez des contenus et des commandes multimédias avec d'autres applications. |
media3 * | Prenez en charge des bibliothèques pour les cas d'utilisation de contenus multimédias. |
mediarouter | Activez l'affichage et la lecture de contenus multimédias sur des appareils récepteurs distants à l'aide d'une interface utilisateur courante. |
multidex | Déployez des applications avec plusieurs fichiers dex sur des appareils antérieurs à Android 5. |
metrics | Suivez et analysez différentes métriques d'exécution pour votre application. |
palette | Extrayez des palettes de couleurs représentatives à partir d'images. |
percentlayout | Cet artefact et ses classes sont obsolètes. Utilisez plutôt ConstraintLayout et les mises en page associées. |
preference | Créez des écrans de paramètres interactifs sans avoir à interagir avec l'espace de stockage de l'appareil ni à gérer l'interface utilisateur. |
Affichez des photos, des documents et d'autres images depuis votre application. | |
privacysandbox.ads | Cette bibliothèque permet d'intégrer les API de protection de la confidentialité, qui font partie de la Privacy Sandbox sur Android. |
privacysandbox.sdkruntime | Cette bibliothèque fournit des composants destinés aux consommateurs qui prennent en compte le SDK Runtime. |
privacysandbox.tools | Bibliothèque permettant d'utiliser les fonctionnalités Privacy Sandbox dans Android |
profileinstaller | Permet aux bibliothèques de préremplir les traces de compilation à l'avance afin qu'elles puissent être lues par ART. |
recommendation | Faites la promotion de contenu sur l'écran d'accueil du Lanceur d'applications Android TV. |
recyclerview | Affichez de grands ensembles de données dans votre interface utilisateur tout en réduisant l'utilisation de la mémoire. |
remotecallback | Créez un wrapper pour permettre aux développeurs de fournir plus facilement un PendingIntent. |
resourceinspection | Affichez les attributs des vues personnalisées dans l'outil d'inspection de la mise en page en temps réel d'Android Studio. |
savedstate | Écrivez des composants enfichables qui enregistrent l'état de l'interface utilisateur à la fin d'un processus, puis restaurez-les au redémarrage du processus. |
security | Gérez les clés de manière sécurisée, et chiffrez les fichiers et les préférences partagées. |
sharetarget | Fournissez une rétrocompatibilité pour utiliser les raccourcis en tant que cibles de partage direct. |
slice | Affichez en dehors de votre application des éléments d'interface utilisateur créés à partir d'un modèle. |
slidingpanelayout | Implémentez un modèle d'interface utilisateur de volet coulissant. |
startup | Mettez en œuvre un moyen simple et performant d'initialiser des composants au démarrage de l'application. |
sqlite | Utilisez des bases de données SQLite locales. Si possible, utilisez plutôt Room. |
swiperefreshlayout | Implémentez le modèle d'interface utilisateur "Balayer pour actualiser". |
test.uiautomator | Framework pour les tests fonctionnels de l'interface utilisateur entre applications. |
textclassifier | Identifiez les conversations, les liens, les sélections et d'autres constructions similaires dans le texte. |
tracing | Écrivez les événements de trace dans le tampon de traçage système. |
transition | Animez des mouvements dans l'interface utilisateur avec des mises en page de début et de fin. |
tv | Fournit aux développeurs les fonctionnalités Compose et Material Design afin de concevoir des applications pour la télévision |
tvprovider | Fournissez des chaînes Android TV. |
vectordrawable | Affichez des graphiques vectoriels. |
versionedparcelable | Fournissez un format de sérialisation binaire compact et stable pouvant être transmis d'un processus à l'autre ou conservé de manière sécurisée. |
viewpager | Affichez les vues ou les fragments dans un format balayable. Si possible, utilisez plutôt viewpager2. |
viewpager2 | Affichez les vues ou les fragments dans un format balayable. |
wear | Créez des applications pour les montres connectées Wear OS by Google. |
wear.compose | Créez des applications Jetpack Compose pour les accessoires connectés en fournissant des fonctionnalités compatibles avec les tailles, les formes et les gestes de navigation spécifiques à ce type d'accessoires. |
wear.protolayout | Cette bibliothèque permet de définir des mises en page d'UI et des expressions non liées à l'UI à afficher ou à évaluer sur des surfaces distantes. |
wear.tiles | Créez des applications pour les montres connectées Wear OS by Google. |
wear.watchface | Créez des applications pour les montres connectées Wear OS by Google. |
webkit | Utilisez les API WebView modernes sous Android 5 ou version ultérieure. |
window | Favorise la compatibilité avec différents facteurs de forme d'appareil (appareils pliables, par exemple). |
Nouveautés
- Version de Compose du 22 octobre
- Nous avons inclus de nouvelles fonctionnalités telles que VariableFonts et SwipeToRefresh pour faciliter le développement de l'UI. Nous avons également lancé les BOM Compose pour vous aider à suivre différentes versions stables de Compose. De plus, Material 3 est désormais pris en charge de manière stable.
Pour en savoir plus, consultez notre article de blog. - Car 1.2.0
- Les applications automobiles créées avec la version 1.2.0 et ciblant la plate-forme Android Automotive OS peuvent désormais être publiées sur le canal de test ouvert du Play Store.
- Espresso 3.5.0
- Nous avons inclus le traçage de nos tests. Vous devriez maintenant voir des segments spécifiques de test lorsque vous affichez les traces des exécutions de test dans perfetto.
Pourquoi utiliser Android Jetpack ?
Suivez les bonnes pratiques
Basées sur des pratiques de conception modernes, les bibliothèques Android Jetpack réduisent les plantages et les fuites de mémoire grâce à la rétrocompatibilité.
Éliminer le code récurrent
Android Jetpack gère des activités fastidieuses telles que les tâches en arrière-plan, la navigation et la gestion du cycle de vie, afin que vous puissiez vous concentrer sur ce qui fait la valeur de votre application.
Réduire la fragmentation
Réduisez la complexité grâce à des bibliothèques qui fonctionnent de manière cohérente sur toutes les versions d'Android et sur tous les appareils.