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)은 코드를 보내는 것입니다.
'Development > Android' 카테고리의 다른 글
[Android] - ActionBar(액션바) (0) | 2019.03.12 |
---|---|
Error - Failed to post notificaiton on channel "null" (0) | 2019.03.08 |
대화상자의 버튼, 대화상자 닫기 (0) | 2019.03.08 |
Toast(토스트) (0) | 2019.03.07 |
효과음(sound effect) - 시스템 효과음과 사용자정의 효과음 (0) | 2019.03.07 |