Avatar ·

Que utiliser à la place de Handler() obsolète dans Kotlin/Android ?

Bonjour à tous ! Je suis débutant en développement Android avec Kotlin et j'ai rencontré un problème. Avant, j'utilisais `Handler()` pour exécuter des tâches avec un délai ou pour basculer sur le thread principal depuis un thread d'arrière-plan. Par exemple, j'avais ce code : ```kotlin val handler = Handler() handler.postDelayed({ // du code après 2 secondes }, 2000) ``` Mais récemment, j'ai mis à jour le SDK, et maintenant l'IDE souligne `Handler()` en rouge — il indique que le constructeur est obsolète (deprecated). Dans la documentation, il est dit d'utiliser `Looper.getMainLooper()`, mais je ne comprends pas complètement comment le faire correctement. J'ai aussi entendu parler de `HandlerThread` et `Coroutines`, mais je ne sais pas ce qui est le mieux pour des tâches simples comme un délai avant la mise à jour de l'UI. Pouvez-vous expliquer comment écrire correctement le code qui se faisait avant avec `Handler()` ? Idéalement avec des exemples en Kotlin, pour que ce soit clair pour un débutant. Merci d'avance ! <<>>

Pourquoi Handler() est obsolète et que faut-il utiliser maintenant ?

Dans Android 11 (API 30), le constructeur