마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

타이머 구현하는 방법 질문입니다

0 추천
특정 시간이 흐른 뒤 특정 작업이 수행되어야 하고

그 특정 시간을 컨트롤할 수 있어야 됩니다.

 

예를 들어 sendMessageDelayed처럼 한번 호출하게 되면 딜레이를 그 사이 다시 컨트롤 할 수 없으면 안 되고

뭐 버튼을 터치한다던지 하면 딜레이가 계속 갱신이 되면서 늘어나야 하는데요

 

UNITY3D 할때는 float형 변수에 time.deltatime값을 누적시키면

 

이게 알아서 1초마다 1.0f씩 증가하기에 변수값만 건드리면 타이머 갱신, 초기화같은게 가능했었는데요

 

자바는 비슷한 방법 없나요? 찾아봐도 sleep이나 timer같은 것만 나와서요. 이런 걸로는 갱신이 안 되는지라 ;
익명사용자 (5,930 포인트) 님이 2014년 10월 30일 질문

1개의 답변

0 추천
 
채택된 답변
안드로이드에서는 CountDownTimer 를 제공합니다.

검색해서 사용하세요

원하시는거 그냥 코드몇줄로 끝남
익명사용자 님이 2014년 10월 30일 답변
익명사용자님이 2014년 10월 30일 채택됨
감사합니다. 지금 해보고 있는데 질문 하나만 드려도 될까요
 onTick 메소드의 long millisUntilFinished 이놈이 시간만큼 줄어드는 것 같은데
이놈을 건드릴 수 있어야 되거든요. 예를 들어 타이머가 시작해서 millisUntilFinished가 2000부터 0까지 줄어들고 있을때 버튼을 터치하면 다시 2000으로 재 세팅되어 2초가 또 흘러야 됩니다. 이런 건 어떻게 구현하나요?
cancel 하고 다시 start 하면 되죠
까칠한 것 같으면서도 따뜻한 분이시네요. 덕분에 해결했습니다. 아 그냥 cancel해버리면 타이머가 꺼지는게 아니라 그냥 그 상태로 정지할 뿐이라 static 변수를 만들어두고 따로 해결했네요.
...