private ProgressDialog mProgressDialog = null;
private Handler handler = new Handler();
...
mainProcessing();
...
private Handler handler = new Handler();
...
mainProcessing();
...
private void mainProcessing()
{
// 시간이 많이 드는 작업을 자식 스레드로 옮긴다.
Thread thread = new Thread(null, doBackgroundThreadProcessing, "Background");
thread.start();
}
// 백그라운드 처리 메서드를 실행하는 Runnable.
private Runnable doBackgroundThreadProcessing = new Runnable()
{
public void run()
{
backgroundThreadProcessing();
}
};
// 백그라운드에서 몇 가지 처리를 수행하는 메서드.
private void backgroundThreadProcessing()
{
Log.d("Thread Start", "Thread Start~!");
try
{
//+
// [...시간 소모적인 작업들...]
//-
handler.post(doUpdateGUI);
}
catch (Exception ex)
{
ex.toString();
}
}
// GUI 업데이트 메서드를 실행하는 Runnable.
public Runnable doUpdateGUI = new Runnable()
{
public void run()
{
updateGUI();
}
};
public void updateGUI()
{
// [...다이얼로그를 오픈하거나 GUI 요소를 수정할 수 있다...]
}
'안드로이드' 카테고리의 다른 글
액티비티 화면전환 애니메이션처리 (0) | 2011.04.06 |
---|---|
어플도중 폰 진동하게 하기 (0) | 2011.04.01 |
현재 실행중인 어플보기 (0) | 2011.03.24 |
액티비티가 아닌것을 액티비티처럼 (0) | 2011.03.16 |
로딩화면 띄우기 (0) | 2011.03.14 |