Per attività ripetitive è possibile utilizzare
new Timer().scheduleAtFixedRate(task, runAfterADelayForFirstTime, repeaingTimeInterval);
chiamalo come
new Timer().scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
}
},500,1000);
Il codice sopra verrà eseguito la prima volta dopo mezzo secondo (500) e si ripeterà dopo ogni secondo (1000)
Dove
l'attività è il metodo da eseguire
dopo il tempo di esecuzione iniziale
( intervallo il tempo per ripetere l'esecuzione)
in secondo luogo
E puoi anche usare CountDownTimer se vuoi eseguire un'attività diverse volte.
new CountDownTimer(40000, 1000) { //40000 milli seconds is total time, 1000 milli seconds is time interval
public void onTick(long millisUntilFinished) {
}
public void onFinish() {
}
}.start();
//Above codes run 40 times after each second
E puoi anche farlo con runnable. creare un metodo eseguibile come
Runnable runnable = new Runnable()
{
@Override
public void run()
{
}
};
E chiamalo in entrambi questi modi
new Handler().postDelayed(runnable, 500 );//where 500 is delayMillis // to work on mainThread
O
new Thread(runnable).start();//to work in Background