한가지 동작을 반복해서 할 때
수행 사이사이에 interval time을 주고 싶은데
Thread.sleep을 하니 메인 UI가 멈춰버리네요.
sleep 하는 동안에도 메인에 출력해주는 진행시간은 계속 증가해야하는데 메인 UI가 sleep해 있으니
시간까지 같이 멈춰버리네요
sleep 말고 프로세스를 일정시간동안 멈추게 할 수 있는 방법 없나요?
Handler를 만들어 두시고
handler.sendEmptyMessageDelayed(id, duration);
함수로 메세지를 전달하여 메세지 수신시 해당 동작을 수행하고 동작완료하면 다시 메세지 송신하도록 하시면 될듯합니다.
Timer라는 것을 사용하면 일정 주기마다 메소드를 호출할수 있습니다.
Timer mLongPressTimer = null;
TimerTask t = new TimerTask() { public void run() { // 메소드 호출 또는 동작 정의 } };
mLongPressTimer = new Timer(); mLongPressTimer.schedule(t, 0, 1000);
이렇게 하면 1초마다 한번씩 해당 동작을 수행하게 됩니다~
로그인 유지
Handler를 만들어 두시고
handler.sendEmptyMessageDelayed(id, duration);
함수로 메세지를 전달하여 메세지 수신시 해당 동작을 수행하고 동작완료하면 다시 메세지 송신하도록 하시면 될듯합니다.