반응형

Thread를 이용하여 타이머를 만드는 방법중인 하나인 (마지막시간-시작한시간)을 계산하여 출력하는 방법을 사용해보려고한다.

 

Thread t = new Thread(new Runnable() {
	public void run() {
         //첫 시작한 현재시간
		final long start = System.currentTimeMillis();
         //시간포맷팅을 위한 포맷설정
		final SimpleDateFormat sdf = new SimpleDateFormat("mm:ss:SSS");
		
		while (!(t.isInterrupted())) {
			runOnUiThread(new Runnable() {
				public void run() {
                    //쓰레드가 돌때마다 계속 현재시간 갱신
					long end = System.currentTimeMillis();
                    //진행된시간을 계산하여 포맷에 맞게 TextView에 뿌리기
					dc.setText(sdf.format(end - start).substring(0, 8));
				}
			});
            //0.01초마다 Thread돌리기
			SystemClock.sleep(10);
		}
	}
});
t.start();
 이렇게 하게되면 00:00:00 의 형식으로 뷰에 뿌릴수가 있다
반응형
블로그 이미지

Mr.비타민

,