본문 바로가기
Android Studio

[Android Studio] CountDownTimer 사용 방법

by dong_su 2023. 12. 22.

사용 방법

// 카운트다운타이머 객체 생성
CountDownTimer countDownTimer;

long time = Integer.parseInt(strTime);
time = time * 1000;

// 위의 time에 맞는 타이머를 동작시킨다.
countDownTimer = new CountDownTimer(time, 1000) {

        // 1초마다 함수 실행
        @Override
        public void onTick(long l) {
        // 남은 시간을 화면에 표시. 매초 마다
        long remain = l / 1000;
        txtTime.setText(remain+"");
        }

        // 타이머가 종료될 때 실행
        @Override
        public void onFinish() {
        // 타이머가 종료되면 할 작업 작성.
        // 1. 이미지뷰에 애니매이션 효과를 준다
        YoYo.with(Techniques.Shake).duration(400).repeat(2).playOn(imgAlarm);
        // 2. 알람소리 나오게 한다.
        mp.start();
        }
};

// 만든 타이머 시작
countDownTimer.start();

// 동작중인 타이머 취소
countDownTimer.cancel();

 

CountDownTimer 생성자

  • 첫번째 인자는 long 타입이 와야 하고, 총 시간을 의미한다.
  • 두번째 인자는 밀리세컨즈 단위(1초 = 1000)가 와야 하고, 간격을 의미한다.

onTict() 함수는 두번째 인자로 들어온 간격(1000)마다 실행된다. 

  • 실행될 때마다 매개변수 long l에는 총시간(10000) - 간격(1000)이 들어간다. 이 l값은 누적된다.
  • 실행 후 1초 후 l = 9000
  • 실행 후 2초 후 l = 8000 
  • ...

onFinish() 함수는 타이머가 종료될 때 실행된다.