[Android] CountDownTimer 사용하기

Study/Android Studio 2021. 2. 26. 21:26 Posted by meanoflife
반응형

CountDownTimer 사용하기

 

CountDownTimer 클래스를 이용하여 Timer를 이용하여 처리하는 방법을 알아보겠습니다.

Timer는 별도의 Thread로 처리되기 때문에 상속받는 Class를 만들어 처리합니다.

 

Index

  1. CountDownTimer를 상속받는 클래스 생성

  2. Timer가 필요한 시점에 클래스 생성 및 시작

  3. Timer 종료하기

 

1. CountDownTimer를 상속받는 클래스 생성

 

다음과 같이 CountDownTimer를 상속받아 클래스를 생성하고, 인터페이스 함수를 정의합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class TimerRest extends CountDownTimer {
    public TimerRest(long millisInFuture, long countDownInterval) {
        super(millisInFuture, countDownInterval);
    }
            
    @Override
    public void onTick(long millisUntilFinished) {
        // To-Do
    }
    
    @Override
    public void onFinish() {
 
    }
}
cs

 

public TimerRest(long millisInFuture, long countDownInterval) 

  - millisInFuture : 타이머를 수행할 시간( 1/1000초 기준 )

  - countDownInterval : 타이머를 수행할 간격(  1/1000초 기준 )

 

public void onTick(long millisUntilFinished)

  - 수행 간격마다 호출되는 함수

  - millisUntilFinished : 남은 시간( 1/1000초 단위로 표기 )

 

public void onFinish()

  - millisInFuture 시간까지 모두 종료시 호출되는 함수

 

 

2. Timer가 필요한 시점에 클래스 생성 및 시작

 

타이머가 필요한 시점에 생성한 클래스를 호출하고, start() 메소드를 이용하여 시작합니다.

1
2
3
// 1시간 1초 간격으로 타이머 수행
TimerRest tmRest = new TimerRest( 36000001000 );  
tmRest.start();
cs

 

 

3. Timer 종료하기

 

타이머를 지정한 시간이 되기전에 종료하는 방법입니다.

.cancel() 메소드를 호출하여 타이머를 종료하면 onFinish() 메소드는 호출되지 않습니다.

1
2
tmRest.cancel();  // 타이머 종료하기
tmRest = null;    // 객체 초기화
cs

 

The End.

반응형