Andriod 학습 노트(12) – Timer 사용 예
코드 보기:
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
Message msg = new Message();
msg.what = Hor_Translate;
handler.sendMessage(msg);
// System.out.println("send message");
}
}, 0, 50);//0 0 ,50 50
handler = new Handler() {
public void handleMessage(Message msg) {
//
switch (msg.what) {
case 1:
//
break;
case 2:
//
break;
}
super.handleMessage(msg);
}
};
2、카운트다운 취소
timer.cancel();
3. 매개 변수 설명:
new Timer().schedule(new TimerTask(){
@Override
public void run() {
// TODO Auto-generated method stub
// do some your own process when the timeout come up
}}, delay, period);
Timer 역할: 지연 또는 반복 실행.
period 매개 변수가 있는 schedule 방법을 사용합니다. 이 timer는period를 주기로 하여run 방법을 순환적으로 실행합니다. --------순환 집행.
period 파라미터가 없는 schedule 방법을 사용하면 이 timer는 delay 시간이 왔을 때만 실행됩니다. --------단행 집행.
또한, TimerTask는 UI 스레드가 아닌 별도의 스레드로 실행됩니다.따라서androidtimer를 사용할 때android의 단일 라인 원칙에 주의하여 라인의 안전을 확보해야 한다.
TimerTask의run 방법에서 UI와 관련된 작업을 하지 마십시오. 예를 들어 TextView.setText() 등 UI 스레드가 차단될 수 있습니다.만약 필요하다면handler를 사용하여 UI 스레드에 메시지를 보낼 수 있으며, 구체적인 처리는 UI 스레드가 스스로 완성합니다.Timer를 사용한 후에 Timer의 cancel 방법을 사용하여 Timer를 취소해야 합니다. 그렇지 않으면 Timer가 계속 실행되고 있습니다.
4. Timer 및 Thread에서 Handle을 사용할 수 있습니다. Thread에 관한 내용:http://blog.csdn.net/moruna/article/details/7835442
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Exception in thread main java.lang. NoClassDefFoundError 오류 해결 방법즉,/home/hadoop/jarfile) 시스템은 Hello World 패키지 아래의class라는 클래스 파일을 실행하고 있다고 오인하여 시스템의 CLASSPATH 아래 (일반적으로 현재 디렉터리를 포함) Hell...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.