어떻게 안드로이드의 CountDownTimer를 사용합니까?어떻게 안드로이드의 CountDownTimer를 사용합니까?
나는 기본적으로 다음과 같은 시나리오를 갖고 싶어 : 그래서 하나를 3 초 통과
boolean 3_s_passed = false;
// setup counter to change 3_s_passed=true when it finishes
counter.start();
while(true){
if(3_s_passed || user_is_Done) break;
// do some stuff which may set user_is_Done to true
}
또는 사용자 마감을 나는 루프에서입니다. 카운터가 완료되기 전에 while 루프 코드가 실행됩니까? CountDownTimer에 대한 제 이해가 맞습니까? 당신의 도움이
흠. mHandler가 올바르게 이해한다면 3 초에 메시지 대기열에 작업이 추가됩니다. 그러나 userDone 인 경우 mHandler는 해당 작업 요청을 취소하고 Android에 메시지 대기열에 작업을 추가하도록 지시합니다. 그 맞습니까? 또한 userDone = true 일지 궁금해 할 경우 if 문 다음의 코드보다 먼저 실행되도록 보장 할 수 있습니까? 대기열에 대한 아이디어는 항상 타이밍 오류 및 경쟁 조건으로 인해 나를 걱정합니다. – f20k
핸들러에 대한 이해가 정확하지만 두 번째 질문은 분명하지 않습니다. 당신이 mHandler.post (action)를 호출하면, 당신이 묻고있는 runnable을 확실히 실행할 것입니다 ... – schwiz
답장을 보내 주셔서 감사합니다. 두 번째 부분을 명확히하기 위해 : if 문 뒤에 코드가 있고 mHandler.post (action)가 실행되었다고합니다. 내 코드를 실행하기 전에 조치가 취해질 수 있습니까? – f20k