검색결과 리스트
Android Timer Event에 해당되는 글 1건
- 2011.12.15 [Android] Timer Event
글
타이머는 각 시간에 따라 처리 하는 쓰레드이다.
사용 방법은 두가지가 있는데 먼저 핸들러를 이용한 것은 다음과 같은 코드이다.
public class ImageViewActivity extends Activity{
/** Called when the activity is first created. */
int time_count = 0;
TextView text;
Handler handler;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
text = (TextView)findViewById(R.id.text);
handler = new Handler(){
public void handleMessage(Message msg){
time_count++;
text.setText("Value" + time_count);
handler.sendEmptyMessageDelayed(0,1000);
}
};
handler.sendEmptyMessage(0);
}
}
이렇게 하면 카운트가 바뀌는 것을 확인 가능하다. 여담으로 하는 말이지만 setText에 int형 값만 넘길 경우에는 에뮬레이터에서 에러를 나타낸다.
다음은 CountDownTimer를 이용하는 방법이다.
public class ImageViewActivity extends Activity{
/** Called when the activity is first created. */
int time_count = 0;
TextView text;
CountDownTimer timer;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
text = (TextView)findViewById(R.id.text);
timer = new CountDownTimer(10 * 1000,1000){
public void onTick(long millisec){
time_count++;
text.setText("Value : " + time_count);
if(time_count==5){
cancel();
}
}
public void onFinish(){
text.setText("Finish");
}
}.start();
}
}
여기에서 onTick 메서드가 지정 시간 마다 돌면서 그 내용을 나타내며 전체 시간이 끝나면 onFinish 메서드에서 마무리 작업을 해 준다.
CountDownTimer의 인자에서 보면 총 10초 간격을 1초로 나누어 작업하게 되어 있다.
RECENT COMMENT