Andriod 학습 노트(12) – Timer 사용 예

1736 단어 threadtimer
1. 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

좋은 웹페이지 즐겨찾기