[안드로이드 공부]/안드로이드 공부

[환불 불가] 안드로이드 브로드캐스트 기차 놓치지 않기!

코코모아 2015. 9. 23. 09:42

아래는 코모스튜디오가 직접 만든 무료 앱이에요
(한 번만 봐주세요 ^^)

01

02

03

정각알림 만들기(말하는시계)

말하는 시계 (취침, 자전거) 

말하는 타이머 음성 스톱워치 

브로드캐스트를 날리면 티켓을 끊어 놓은 리시버가 무조건 받겠지 하고 생각 할 수도 있지만, 회사 내부 사정으로 티켓을 취소 해버리는 경우도 발생 할 수 있다는 점도 알고 있어야 한다.


리시버에 등록 해놓으면 OS가 기억 하고 있다가 보낼 시간이 되거나 보낼 타이밍이 되면 브로드캐스트를 날린다. 하지만 OS도 내부적으로 바쁘거나 여타 기타 사정으로 브로드캐스트 메시지에 유효기간을 정해 놓았을 경우가 발생 할 수도 있다. 즉, 분명 어떠한 순간에는 이 메시지를 놓칠 수도 있다는 거다. 그럼 어떻게 해야 할까? 어떻게??



방법은 생각보다 간단하게 해결 할 수 있다. 위와 같이 브로드 캐스트 리시버에서 비동기 식으로 메시지를 받을 수 있도록 처리 하면 된다. 아래는 비동기 클래스다.



즉, OS는 어떤 일이 있어도 브로드 캐스트는 던지도록 설계 되어있지만 앱은 그렇지 않다. OS는 메시지를 보냈지만 앱이 제한된 시간 동안 받지 못하면 타임아웃등에 걸려서 공중 분해 될 수 있는 것이다. 이럴 땐 정말 답답 할 것이다. 취소 환불도 안되고... 소송도 안되고....


그래서 미리 방어적 예외 처리를 해두는 것이 좋다. 


아무도 완벽한 코드는 만들 수 없지만, 누구나 방어 할 수는 있다.


모든 게시물은 코모스튜디오의 소유이며, 무단 복제 수정은 절대 불가입니다.
퍼가실 경우 댓글과 블로그 주소를 남기고 해당 게시물에 출처를 명확히 밝히세요.