티스토리 뷰
Computer/OS (Windows, Linux, Android, iOS ..)
[Android] Handler Message obj 전달 (what, arg1, arg2)
jamezc 2018. 5. 13. 21:48[Android] Handler Message obj 전달 (what, arg1, arg2)
android.os.Handler 를 이용해서 다른 쓰레드에서의 UI를 핸들링 하려면 Message object 를 전달하여 Handler 내부에서 처리한다.
안드로이드에서 작업시 통신이나 기타 작업을 위해서 쓰레드를 이용하는 경우에 타 쓰레드에서 액티비티 등의 UI 를 변경할 경우 android.os.Handler 를 사용하게 됩니다.
Handler 클래스를 Activity 클래스 내에서 정의 해 줍니다.
Handler handler = new Handler() { // 메인에서 생성한 핸들러
@Override
public void handleMessage(Message msg) {
if(msg.what == 0){
// 메세지를 통해 받은 값을 TextView에 출력
textView.setText("arg1="+msg.arg1);
textView.setText("arg2="+msg.arg2);
}
}
};
쓰레드에서 액티비티의 UI 를 변경해야 할 경우 액티비티의 핸들러에게 메시지를 보냅니다. 쓰레드로 핸들러 인스턴스를 넘겨주는 방법은 각자 필요에 맞게 넘겨주면 됩니다.
// obtain 메소드로 메세지 생성
Message msg = Message.obtain(mHandler, 0, arg1, arg2);
mHandler.sendMessage(msg); // 메인스레드의 핸들러에 메세지 보내기
'Computer > OS (Windows, Linux, Android, iOS ..)' 카테고리의 다른 글
[Windows10] 유용한 단축키 (0) | 2019.06.06 |
---|---|
Shutdown 명령어 Windows 종료 (0) | 2018.05.21 |
아이콘 설정 방법 (0) | 2017.03.12 |
File Manager 무료SW 더블커맨더 (double commander) (0) | 2016.09.04 |
Windows 10 단축키 (0) | 2015.08.04 |
댓글