괴도군의 블로그

[ANDROID] 타이머 설정법 (무한 반복) 본문

#프로그래밍/Android

[ANDROID] 타이머 설정법 (무한 반복)

괴도군 2015. 8. 7. 13:37
반응형

java에서 있던 방법이라고 들었네요.

현재시간을 저장하고 그 시간 이후로 10초가 되면 정지하도록 만들어봤습니다.

*포인트!!

Timer를 선언할시에 .. 인자값으로 true를 주지않는다면 

최초1회만 실행되고 끝나버립니다.

final Timer timer;
TimerTask timerTask;

final long time= 10000;
final long lastTime = System.currentTimeMillis();

timer = new Timer(true);
timerTask = new TimerTask() {
@Override
public void run() {
long currentTime = System.currentTimeMillis();
Log.v("", "타이머 작동중 ");
Log.v("","(currentTime-lastTime)>time : "+((currentTime-lastTime)>time));

if((currentTime-lastTime)>time) {
timer.cancel();
}

}
@Override
public boolean cancel() {
Log.v("","타이머 종료");
return super.cancel();
}
};
timer.schedule(timerTask, 0, 1000);


실행횟수는 뭐..

Log

08-07 13:28:49.155  12559-12604 V/﹕ 타이머 작동중

08-07 13:28:49.155  12559-12604 V/﹕ (currentTime-lastTime)>time : false

08-07 13:28:50.155  12559-12604 V/﹕ 타이머 작동중

08-07 13:28:50.155  12559-12604 V/﹕ (currentTime-lastTime)>time : false

08-07 13:28:51.155  12559-12604 V/﹕ 타이머 작동중

08-07 13:28:51.160  12559-12604 V/﹕ (currentTime-lastTime)>time : false

08-07 13:28:52.155  12559-12604 V/﹕ 타이머 작동중

08-07 13:28:52.155  12559-12604 V/﹕ (currentTime-lastTime)>time : false

08-07 13:28:53.160  12559-12604 V/﹕ 타이머 작동중

08-07 13:28:53.160  12559-12604 V/﹕ (currentTime-lastTime)>time : false

08-07 13:28:54.155  12559-12604 V/﹕ 타이머 작동중

08-07 13:28:54.155  12559-12604 V/﹕ (currentTime-lastTime)>time : false

08-07 13:28:55.160  12559-12604 V/﹕ 타이머 작동중

08-07 13:28:55.160  12559-12604 V/﹕ (currentTime-lastTime)>time : false

08-07 13:28:56.155  12559-12604 V/﹕ 타이머 작동중

08-07 13:28:56.155  12559-12604 V/﹕ (currentTime-lastTime)>time : false

08-07 13:28:57.155  12559-12604 V/﹕ 타이머 작동중

08-07 13:28:57.155  12559-12604 V/﹕ (currentTime-lastTime)>time : false

08-07 13:28:58.160  12559-12604 V/﹕ (currentTime-lastTime)>time : true

08-07 13:28:58.160  12559-12604 V/﹕ 타이머 작동중

반응형
Comments