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

안드로이드 특정시간동안 터치안할때 메인엑티비티로 이동하는법?

+1 추천
안드로이드에서 특정시간(예를 등어 5분동안 ) 동안 터치를 안하면 메인페이지로 자동으로 넘아가게끔 구현중인데요  thread 를 줘서 5분에 맞춰놓으면 5분뒤에 정상적으로 메인엑티비티로넘어가는데 터치를 할때마다 해당 시간을 초기화시켜야는데 초기화시키는건 어렵지가않은데 5분을 자동적으로 흘러가게? 하는법이 생각대로 잘안되서 조언을 구하고싶습니다.
익명사용자 님이 2015년 9월 7일 질문

2개의 답변

0 추천
 
채택된 답변
이것 개발자마다 조금 씩 차이가 있겠는데요.

제가 주로 쓰는 방법은

thread에서 system.currentTimeMillis()를 주로 이용합니다. 이 결과를 주어진 정적변수랑 비교하고 정적변수는 thread의 시작에 초기화하고, 특정 이벤트가 일어나면(예를 들면 사용자입력) 이때 다시 이벤트 시간으로 세팅합니다.

그러면 thread에서는 현제시간이 특정시간을 초과하는 순간 동작하게 하는것이지요

 

static long NextTime; <-- 멤버변수로 지정

////  thread 의 run 구조

long currtime;

setNextTime();

while(true) {

  currtime=system.currentTimeMills();

  if(NextTime <currtime) {

   ------------ code  ------------

  }

}

/// thread class의 새 멤버함수

public void setNextTime() {

    NextTime = system.currentTimeMillis() + 18000000; // 5분 추가

}

 

머 대충 위같은 구조를 주로 씀니다.

저렇게 만들어서 쓰래드의 setNextTime()만 시간을 늘리고 싶은 이벤트에서 호출하게되면 되는 구조를 사용합니다.
컴러기 (22,230 포인트) 님이 2015년 9월 8일 답변
감사합니다~~ 덕분에 더배워갑니다 ㅎㅎ
+1 추천
저는 countdown timer를 이용합니다.

터치할 때마다 timer를 초기화 시키면 될 듯 ..
쎄미 (162,410 포인트) 님이 2015년 9월 8일 답변
...