유누킴

[Kotlin] Handler를 사용해서 일정 주기로 반복 작업하기 본문

Tech/Android

[Kotlin] Handler를 사용해서 일정 주기로 반복 작업하기

Yunhoo_kim 2018. 12. 19. 17:13
728x90

Handler


Handler와 postDelayed를 사용해서 일정하게 반복하는 작업을 수행하는 방법을 소개합니다.


현재 붕어빵 게임을 만들고 있는중에 10초에 한번 손님이 등장하는 코드를 작성하는 과정에서 Handler를 사용해서 반복작업을 하도록 했다.



실제 코드

private val mDelayHandler: Handler by lazy { Handler() } private fun waitGuest(){ mDelayHandler.postDelayed(::showGuest, 10000) // 10초 후에 showGuest 함수를 실행한다. } private fun showGuest(){ // 실제 반복하는 코드를 여기에 적는다 waitGuest() // 코드 실행뒤에 계속해서 반복하도록 작업한다. }


waitGuest()를 한번 호출하면 mDelayHander가 10초뒤에 showGuest를 실행한다.

showGuest()를 실행하면 실제 반복하는 작업을 하고 그 뒤에 waitGuest를 한번 더 실행해서 계속해서 일정 주기마다 반복하게 된다.