Handler(핸들러), 핸들러로 메시지를 보내는 메서드, 핸들러로 메시지를 보내면 handleMessage() 메서드가 호출됩니다., Message 객체의 정보

CODEDRAGON Development/Android

반응형


 

 

Handler(핸들러)

·       안드로이드에서 스레드간 통신 장치입니다.

·       메인스레드(송신)에 있는 변수 값을 다른 스레드(수신)에서 값을 변경 시켜주기 위해 사용합니다.

·       핸들러(Handler)는 신호를 보내는 것이고 러너블(Runnable)은 코드를 보내는 것입니다.

 

 

 

public class Handler 

extends Object 

https://developer.android.com/reference/android/os/Handler.html

 

 

핸들러로 메시지를 보내는 메서드

boolean Handler.sendEmptyMessage(int what)

boolena Handler.sendMessage(Message msg)

boolean sendMessageAtFrontOfQueue(Message msg)

 

 

 

핸들러로 메시지를 보내면 handleMessage() 메서드가 호출됩니다.

void handleMessage(Message msg)

 

 

Message 객체의 정보

필드

설명

int what

메시지의 의미를 설명.

의미가 정해져 있지는 않지만 핸들러별로 지역적이므로 다른 핸들러와 충돌할 가능성은 적습니다.

int arg1

메시지의 추가 정보

int arg2

메시지의 추가 정보

Object obj

정수만으로 메시지를 기술할 수 없을 때 임의의 객체를 생성 후 전달

Messenger replyTo

메시지에 대한 응답 받을 객체를 지정

 

 

public final class Message

https://developer.android.com/reference/android/os/Message.html

 

 

 

 

post()

·       post함수는 핸들러에서 처리 해야 될때 사용 할 수 있습니다.

·       new Runnable() run()을 이용하여 사용 됩니다.

·       post()를 사용하면 sendMessage()함수를 쓰지않아도 run()함수 내에서 처리 할 수 있습니다.

·       핸들러(Handler)는 신호를 보내는 것이고 러너블(Runnable)은 코드를 보내는 것입니다.

 

반응형