펌 OK (출처 표시), 상업적 이용 NO, 컨텐츠 변경 NO
기본적이지만 아주 중요한 Handler
주로 Thread와 함께 사용된다.
안드로이드는 Thread 내에서 UI작업이 불가능하다.
만약 Thread 내에서 UI작업을 하게되면
CalledFromWrongThreadException 예외가 발생하게된다.
이를 해결하기 위해 핸들러를 이용해 다른 스레드에서 UI에 직접 접근하지 않고
핸들러를 거쳐 접근하여 UI작업을 처리해야한다.
두가지 사용법을 알아보자
1. post로 호출하여 사용하기
Handler handle = new Handler();
public Runnable callback = new Runnable() {
public void run() {
// 실행
}
};
호출하는법은
스래드 내에서 callback 안의 내용을 실행하고싶을 때
handle.post(callback);
딜레이를 주고싶을 때는 handle.postDelayed(callback, 1000); (1초 뒤 실행)
2. message를 보내 호출하기
Handler handle = new Handler() {
public void handleMessage(Message msg) {
if (msg.waht==0x0001) {
}
else if (msg.what==1) {
}
}
};
호출은 handle.sendEmptyMessage(0x0001); 등으로 한다.
'Android > 기본스킬' 카테고리의 다른 글
안드로이드 생명주기 (0) | 2014.01.27 |
---|---|
개발 중 에러 발생시 에러 내용 확인, 해결방법 (6) | 2014.01.07 |
자바/안드로이드 HashMap 사용법 (1) | 2013.12.31 |
토스트(Toast) 메시지 띄우는법 (3) | 2013.12.30 |
버튼에 일일히 리스너를 등록하지 않고 소스 작성하는법 (0) | 2013.08.01 |