Quelqu'un peut-il me dire s'il existe un équivalent pour setInterval / setTimeout pour Android? Quelqu'un a-t-il un exemple sur la façon de le faire?
java
javascript
android
settimeout
karse23
la source
la source
MyActivityName.this.myFunctionOnActivity()
Handler timeout = new Handler(); final Runnable r = new Runnable{...}; timeout.postDelayed(r, 300);
et si vous souhaitez l'annuler:timeout.removeCallbacks(r);
setInterval ()
fonction qui se répète toutes les n millisecondes
Javascript
Equivalent Java approximatif
setTimeout ()
fonction qui ne fonctionne qu'après n millisecondes
Javascript
Equivalent Java approximatif
la source
scheduleAtFixedRate
méthode, comment annuler le chronomètre dans l'activité une fois que l'activité est terminée?Si vous ne craignez pas de réveiller votre téléphone ou de ramener votre application d'entre les morts, essayez:
la source
En fonction de ce que vous souhaitez réellement réaliser, vous devriez jeter un œil aux gestionnaires Android:
http://developer.android.com/reference/android/os/Handler.html
Si vous avez précédemment utilisé javascript setTimeout () etc. pour planifier une tâche à exécuter à l'avenir, c'est la manière Android de le faire (postDelayed / sendMessageDelayed).
Notez que ni les gestionnaires ni les minuteries ne permettent à un téléphone Android de sortir du mode veille. En d'autres termes, si vous souhaitez programmer quelque chose qui se produise réellement même si l'écran est éteint / le processeur est en veille, vous devez également consulter le AlarmManager.
la source
Je ne connais pas grand chose à JavaScript, mais je pense que les timers sont peut-être ce que vous recherchez.
http://developer.android.com/reference/java/util/Timer.html
Depuis le lien:
One-shot est programmé pour s'exécuter à une heure absolue ou après un délai relatif. Les tâches récurrentes sont planifiées avec une période fixe ou un taux fixe.
la source
La première réponse est certainement la bonne réponse et c'est ce sur quoi j'ai basé cette version lambda, qui est beaucoup plus courte en syntaxe. Puisque Runnable n'a qu'une seule méthode de remplacement "run ()", nous pouvons utiliser un lambda:
la source
la source
Voici un équivalent setTimeout, surtout utile lorsque vous essayez de mettre à jour l'interface utilisateur après un certain délai.
Comme vous le savez peut-être, la mise à jour de l'interface utilisateur ne peut être effectuée qu'à partir du thread d'interface utilisateur. AsyncTask fait cela pour vous en appelant sa méthode onPostExecute à partir de ce thread.
la source
onProgressUpdate()
peut également être utilisé pour simulersetInterval()
. 2.AsyncTask
s'exécute sur un pool de threads (ou juste un thread unique), donc a. il faudra peut-être attendre qu'une autre seAsyncTask
termine; b . il prendra un thread du pool.Je créais un lecteur mp3 pour Android, je voulais mettre à jour l'heure actuelle toutes les 500ms donc je l'ai fait comme ça
setInterval
qui appelle la même méthode récursivement
la source