안드로이드/개발코드

안드로이드의 Timer 기능

GTaeho 2014. 1. 29. 17:40

예제 1>

class Test extends Activity {

class MyTask extends TimerTask {

public void run() {

Log.d("myTask", "run()");

}

}


protected void onCreate(Bundle savedInstanceState) {

Timer timer = new Timer();

MyTask myTask = new MyTask();

//timer.schedule(myTask, 500);

timer.schedule(myTask, 500, 3000);


super.onCreate(savedInstanceState);

}

}


타이머 사용에 실패했던 이유는 timerTask를 어떻게 만들까? 였는데,,

클래스를 만들면 되는 거였다.


예제 2>

TimerTask myTask = new TimerTask() {

public void run() {

Log.d("myTask", "run()");

}

};


Timer timer = new Timer();

//timer.schedule(myTask, 500);

timer.schedule(myTask, 500, 3000);



클래스를 만들지 않고도 위와 같이 해도 된다. 예제2의 방법이 더 편해보이기도 하다.


timer.schedule(myTask, 500); 은 500ms뒤에 딱! 한번 myTask의 run()을 수행시켜준다.

반복해서 호출되게 하고 싶다면,,

timer,schedule(myTask, 500, 3000); 으로 호출해주면된다.

첫번째 param은 작업할 내용.

두번째 param은 언제부터 시작할 것인지, 즉, 500ms 뒤에 타이머를 돌리기 시작하는 것.

세번째 param은 타이머의 반복주기. 500ms뒤에 시자해서 3초 단위로 타이머를 돌리고

하고 싶은 작업을 하도록 호출해주는 것이다.