안드로이드 개발 질문/답변
(글 수 45,052)
제가 현재 XML을 사용하던 것들을 다 DB로 바꾸고 있습니다.
그런데 DB로 바꾸고 있자니 DB에서 데이터를 뽑아와서 UI에 적용할 때 까지 시간이 적잖이 걸리네요.
(예를 들면 BLOB같은)
그래서 ProgressDialog를 띄우려고 하는데
UI구성과 ProgressDialog의 show() 메서드는 UI Thread에서만 호출이 가능한가봐요?
둘이 같은 Thread에서 도니 ProgressDialog가 돌다가 멈춰 있게 됩니다.
애니메이션이 독립된 Thread에서 돌지 않는 것 같은데
이런 문제는 어떻게 해결해야 하나요 -_-?
결론은 DB에서 데이터를 뽑아와 UI에 적용하는 동안 ProgressDialog가 멈추지 않고 계속 애니메이션 되면 좋겠습니다.
현재 해 본 방법으로는
ProgressDialog.show();
Thread thread = new Thread(new Runnable() {
run() {
runOnUiThread(new Runnable() {
run() {
DB 호출...;UI 구성...;
UI 구성...;
UI 구성...;
UI 구성...;
UI 구성...;
UI 구성...;
ProgressDialog.dismiss();
}
});
}
});
간단하게 적었지만 대충 위와 같습니다.
혹시 방법을 알고 계신분 제보 부탁드립니다.
lifecluee@gmail.com




음.. 왜 DB 호출을 UI쓰레드에서 하시는지 모르겠네요.
DB 호출은 쓰레드내에서 하시고,
쓰레드가 종료될때 Handler를 불러서
UI 작업을 거기서 하면 될텐데요.
핸들로 불리자마자 pd.dismiss(); 하시구요
http://lonelyshadow.tistory.com/75