Scrapbook/개발 및 프로그래밍

안드로이드에서 Thread 돌리기

가을이짱짱 2011. 1. 14. 14:25
반응형
출처: http://blog.naver.com/cherryzone12?Redirect=Log&logNo=90095973981

안드로이드에서는 그냥 Thread를 돌릴 수 없음.

UI를 변경 적용해야 하는 경우에...

UI Thread가 따로 있으므로 UI Thread와 통신해야함.


application을 짜면 기본적으로 main Thread가 UI Thread와 통신을 한다.

그런데 새로 생성한 Thread까지도 UI를 직접 조작하려고 한다면 run-time exception이 발생.
-> UI Thread에 통신을 하려는 Thread가 2개 생기는 꼴.. exception을 처리하지 않으면 강제 종료..

 

새로 생성한 Thread에서 UI관련 조작을 main Thread로 보내준다.

main Thread에서 그 조작을 UI Queue에 넣는다.
(runOnUiThread를 사용)

혹은 일반적인 Thread 동기화 방법을 사용할 수도 있으나 잘 모르겠음.

 

AsyncTask 를 사용하면 간편해짐

 

 

App:

한 클래스에서 시간 변수를 조작하고(1) 표시하는데(2) 공유함으로써 
동기화(?) 비슷하게 해 줘야 할 일이 생겼는데 그냥 onProgressUpdate
에 넣어버림으로써 해결... ㄷㄷ

 


java thread 참조 : http://javafreak.tistory.com/232
android thread 참조 : http://tigerwoods.tistory.com/28

반응형