인텐트는 어떠한 액션이 수행되어야 한다는 요청을 하는 일종의 메시지 전달 메커니즘입니다.
여러 액션을 담긴 인텐트를 요청을 하면 안드로이드 런타임은 인텐트 확인과정을 거쳐 수행을 해 줍니다.
또한 안드로이드 어플리케이션을 실행하게 되면 어플리케인견의 도메인(샌드박스)가 생성이 되어
다른 어플리케이션의 접근을 하지 못하게 하여 실행된 어플이 안전하게 운영될 수 있도록 보호해줍니다.
샌드박스(도메인)은 무엇인가?
기본적으로 서로 다른 도메인에 접근할 수 없습니다.
그러면, 주소록 어플에서 전화걸기어플(Dialing)를 어떻게 호출해 줄 수 있는가? 궁금해 질 겁니다.
이렇게 다른 도메인에 있는 어플에 접근할 수 있는 방법이 있습니다.
바로 인텐트와 브로드캐스트 수신자, 어댑터, 콘텐츠 공급자 같은걸 사용하면 됩니다.
(저도 배워가는 과정이라.. 인텐트 외에는 잘 모릅니다. 나중에 알게되면 올려놓도록 하겠습니다.)
인텐트는 시스템 전역에 메시지를 브로드캐스트할 수 있으며 브로드캐스트 수신자를 등록한 애플리케이션은
특정 인텐트에 반응하게 됩니다.
그럼 어떠한 액션들이 있나?
1. 액티비티 호출
2. ...
3. ...
# 액티비티 호출
인텐트를 사용하여 액티비티를 호출할 수 있는데 호출이 허락이 되면 일명 "화면전환" 이됩니다.
일단 인텐트의 생성자를
public Intent(Context pakageContext, Class<?> cls);
입니다.
이를 풀어보면. 현재 액티비티에서 다른 액티비티를 호출한다는 겁니다.
즉, 현재 액티비티에서 다른 액티비티로 전화시켜 달라고 요청을 하는 겁니다.
예를 들어, aaa 란 액티비티에서 bbb 액티비티를 요청을 하면
Intent intent = new Intent(aaa.this, bbb.class);
setActivity(intent);
라고 할 수 있습니다.
위와같이 직접 액티비티를 호출하는 것은 "명시적 액티비티 호출"이라고 합니다.
명시적 인텐트 호출은 액티비티의 형을 알고 있어야 하기 때문에 같은 어플에서 호출되는 방법일 것 같습니다.
'개발관련 > Android' 카테고리의 다른 글
| 사용자 뷰 만들기 - 새로운 뷰 만들기 (0) | 2010/09/05 |
|---|---|
| 사용자 뷰 만들기 - 기존뷰 재정의하기 (0) | 2010/09/03 |
| Intent - 액티비티간 데이터 받기 (0) | 2010/09/01 |
| Intent - 암시적인 인텐트 호출 (0) | 2010/09/01 |
| Intent - 명시적인 인텐트 호출 (0) | 2010/09/01 |
| 안드로이드 개발환경 구축하기 (0) | 2010/08/31 |



댓글을 달아 주세요