2013년 5월 16일 목요일

Android Handler 관련 스크랩

이전 블로그에서 이전 함 (원본 글 2013/05/16 작성)

다중 Handler를 처리하다 보니 UI thread가 아닌 thread에서 handler를 생성할 필요가 있었음.





UI 쓰레드가 아닌 일반 쓰레드에서 UI 작업처리를 위해 new Handler() 를 통해 Handler를 사용할 경우 아래와 같은 에러가 발생합니다.

java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()

그럼 UI처리를 위한 Handler는 UI 쓰레드에서만 생성해야 한다고 생각할 수 있습니다.


그러나 그렇지 않습니다. 임의의 쓰레드에서도 UI작업용 Handler를 사용할 수 있습니다.


다만, UI 작업을 처리하기 위해서는 아래와 같이 UI쓰레드에 바인딩된 Handler를 만들어야 합니다.

Handler handler = new Handler(Looper.getMainLooper());



* 참고





안드로이드 Handler 이야기 - Handler 와 Looper  안드로이드
2011/08/09 23:19






UI thread에서 worker thread로 보낼때..

좀 복잡한 방법

댓글 없음:

댓글 쓰기