Travail périodique et enchaîné
Répétez et ordonnez les tâches en arrière-plan.
Travail périodique et enchaîné est une leçon Android Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Android Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Android Academy comprend 4 leçons au total.
Travail périodique et enchaîné
Au-delà des tâches ponctuelles, WorkManager peut répéter un travail selon un calendrier et enchaîner plusieurs travailleurs afin qu’ils s’exécutent successivement. Cette leçon couvre ces deux possibilités.
PeriodicWorkRequest
Pour un travail récurrent, utilisez PeriodicWorkRequestBuilder en indiquant un intervalle de répétition. WorkManager relance le travailleur une fois par intervalle.
val periodic = PeriodicWorkRequestBuilder<SyncWorker>(
repeatInterval = 1,
repeatIntervalTimeUnit = TimeUnit.HOURS
).build()Le minimum de 15 minutes
L’intervalle de répétition minimal est de 15 minutes. Les requêtes utilisant un intervalle plus court sont ramenées à 15 minutes. Cela protège la batterie ; WorkManager n’est pas destiné à une planification à la seconde près.
Le travail périodique n’est pas exact
L’intervalle est une indication, pas un minuteur précis. Le système peut exécuter le travail plus tard afin de regrouper les tâches et d’économiser l’énergie. Ne vous y fiez pas pour les tâches urgentes.
Mettre un travail périodique unique en file
Utilisez enqueueUniquePeriodicWork afin d’éviter d’empiler plusieurs copies de la même tâche périodique lors des lancements de l’application.
WorkManager.getInstance(context).enqueueUniquePeriodicWork(
"daily_sync",
ExistingPeriodicWorkPolicy.KEEP,
periodic
)Qu’est-ce que l’enchaînement ?
L’enchaînement exécute les travailleurs dans un ordre défini : l’étape B ne commence qu’après la réussite de l’étape A. La sortie de l’un devient l’entrée du suivant.
beginWith et then
Commencez un enchaînement avec beginWith et ajoutez des étapes successives avec then. Appelez enqueue pour soumettre l’ensemble de l’enchaînement.
WorkManager.getInstance(context)
.beginWith(compressRequest)
.then(uploadRequest)
.then(cleanupRequest)
.enqueue()Les données circulent dans l’enchaînement
Les données Data de sortie d’un travailleur sont transmises comme données d’entrée au suivant. Ainsi, compressRequest peut renvoyer un chemin de fichier que uploadRequest lit depuis ses inputData.
Étapes parallèles dans un enchaînement
Vous pouvez exécuter plusieurs travailleurs en parallèle en transmettant une liste à beginWith ; le then suivant attend qu’ils aient tous terminé.
WorkManager.getInstance(context)
.beginWith(listOf(downloadA, downloadB))
.then(mergeRequest)
.enqueue()Un échec arrête l’enchaînement
Si un travailleur renvoie Result.failure(), les étapes restantes de l’enchaînement sont annulées. En revanche, un retry() met l’enchaînement en pause jusqu’à la réussite de cette étape.
Associer des contraintes
Chaque requête d’un enchaînement ou chaque requête périodique peut avoir ses propres contraintes ; par exemple, seule l’étape d’envoi peut exiger un réseau non facturé, tandis que la compression peut s’exécuter à tout moment.
Vérification rapide
Testez votre compréhension du travail périodique et enchaîné.
Récapitulatif
Vous avez appris à utiliser le travail périodique et enchaîné :
PeriodicWorkRequestBuilderrépète le travail, avec un minimum de 15 minutes, sans précision exactebeginWith().then()enchaîne les travailleurs successivement- Les données de sortie passent d’une étape à la suivante ; les listes s’exécutent en parallèle
- Un échec annule l’enchaînement ; chaque étape peut avoir ses propres contraintes
Vous avez terminé le cours sur WorkManager.
Questions Fréquemment Posées
La leçon « Travail périodique et enchaîné » est-elle gratuite ?
Oui — le texte complet de « Travail périodique et enchaîné » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Android Academy, passe à CoddyKit PRO. Le cours Android Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Travail périodique et enchaîné » ?
Répétez et ordonnez les tâches en arrière-plan. Tu pratiques Android Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Android Academy ?
Aucune expérience préalable n'est requise. Android Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Travail périodique et enchaîné » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Android Academy ?
Oui. Chaque leçon Android Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Quand utiliser WorkManager
- Créer un Worker
- Contraintes et planification
- Travail périodique et enchaîné