본문 바로가기

소프트웨어/Android/Java/Ndk

Android] Handler사용법

1. main class안에Handler 생성

2. onCreate나 원하는 thread에 메시지 생성 및 전송

3. Handler는 날라온 메시지를 판단해서 원하는 작업 수행



//main Class

...

//handler

private Handler mHandler = new Handler() {


@Override

public void handleMessage(Message msg) {

// TODO Auto-generated method stub

super.handleMessage(msg);

switch( msg.what ) {

case 0:

pDialog.dismiss(); //메시지가 왔을때의 수행 작업

break;

case 1:

break;

case 2:

break;

}

}

};



//onCreate

...

runOnUiThread(new Runnable() {

//new Thread(new Runnable() {

@Override

public void run() {

// TODO Auto-generated method stub

pDialog.show(); //프로그래스 다이얼로그

refresh(); //원하는 작업

mHandler.sendEmptyMessage(0);

}

//}).start();

});



코드에서 주석 쳐놓은 일반 Thread를 사용하지 않고 UI Thread를 사용한 이유는

Thread 내에서 ProgressDialog를 컨트롤하기 때문이다.