Merhabalar, sizlere bu makalemde Android'de sıkça kullanılan Tekrarlanan İşlemler(Görevler)'de kullanılan TimerTask sınıfı kullanımından bahsetmek istiyorum.
private Timer timer;
private TimerTask timerTask; private Handler timerHandler = new Handler(); int id=0; timer = new Timer();
timerTask= new TimerTask() {
public void run() {
mTimerHandler.post(new Runnable() {
public void run(){
Log.d("LOG","ID="+id);
id++;
}
});
}
};
timer.scheduleAtFixedRate(timerTask, 0, (1*60 * 1000));
scheduleAtFixedRate metodu işlemin tekrarlanması için kullanılır, içerisine argüman olarak TimerTask, bekleme süresi, milisaniye bekler.
3. Argüman işlemin hangi sıklıkla tekrarlanacağını ifade eder. 1000 milisaniye 1 saniye yapar, (1000*60) = 1 dakikadır.
Yukarıda yazmış olduğum kodda, her 1 dakikada 1, LogCat'e yazı gönderiyor. Handler ve Runnable de işlemlerin döndürülmesini sağlıyor.
Daha kısa bir kullanımı yok mu hocam bunun ?, olsun tabii...
new Timer().scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
Log.d("LOG","Bu bir logdur ->"+ Calendar.getInstance().getTime());
}
},0, 1000); // 1000 milisaniye = 1 saniye
Yararlı olması dileğimle.