Beeeam

Android CountDownTimer 본문

Android

Android CountDownTimer

Beamjun 2023. 11. 7. 21:41

CountDownTimer 객체를 사용하면 안드로이드 프로젝트에서 타이머를 쉽게 구현할 수 있다.

 

binding.btnTimer.setOnClickListener {
    val timer = object : CountDownTimer(10000L, 1000L) {
        override fun onTick(p0: Long) {
            Log.d("Timer", "1초마다 호출")
        }

        override fun onFinish() {
            Log.d("Timer", "타이머 종료!!")
        }
    }
    timer.start()
}

 

본인은 CountDownTimer 객체를 사용하여 버튼이 클릭되면 1초마다 특정 로그를 찍는 타이머를 만들어봤다.

 

먼저 CountDownTimer 객체를 만들면서 인자로 실행할 시간, 호출 주기를 전달한다. 이 둘은 Long 타입의 값을 전달해야한다. 위의 예시를 실행하면 타이머는 10초 동안 유지되고 1초에 한번 씩 호출 된다.

 

onTick() 함수는 위에서 정해준 주기마다 호출되는 함수이다.

onFinish() 함수는 타이머가 종료되면 호출되는 함수이다.

 

그래서 위의 코드를 실행하면 다음과 같이 10초 동안 1초에 한번 씩 호출 로그가 찍히는 것을 확인할 수 있다.

 

본인은 이를 사용하게 된 계기가 프로젝트에서 닉네임 중복 검사를 하기 위해서였다. EditTextView에 0.5초간 입력이 없으면 닉네임 중복 검사 로직을 실행해야 했기 때문에 입력이 없으면 타이머를 실행하여 타이머가 종료되면(onFinish()) 닉네임 중복 검사를 하도록 설정하였다.

 

엄청 자주 사용하지 않을 거 같지만 정리해두면 좋을 것 같아서 정리해봤다.

'Android' 카테고리의 다른 글

컴포즈 공부 1일차 (코드 형식 및 연습)  (1) 2023.11.26
RecyclerView 마스터하기  (1) 2023.11.24
Android Email Intent  (0) 2023.11.07
무한 스크롤  (0) 2023.09.18
RecyclerView 오류 해결 과정..  (0) 2023.08.08