[안드로이드] 컴포넌트 활성화 - 인텐트(Intent)
- 프로그래밍 정보
- 2010. 8. 11.
반응형
( 관련글은 아래쪽에 있어요~)
읽기전에 손가락 한번 클릭~ >_<
고마워요 ~ Chu ~ ♥
이제 이런 안드로이드의 기본이 되는 컴포넌트를 활성화하는 내용입니다~
컴포넌트 활성화 - 인텐트
컨텐츠 프로바이더는 컨텐츠 리볼저의 요청 대상이 될 때 활성화가 됩니다.
그것을 제외한 3가지의 컴포넌트 ( 액티비티, 서비스, 브로드캐스트 리시버 ) 는
인텐트 ( Intent ) 라는 비동기 메시지에 의해 활성화가 되죠.
인텐트는 컨텐츠 메시지를 가지고 있는 인텐트 객체입니다.
인텐트는 액티비티와 서비스에게 요청되는 액션을 가리키고,
그 액션은 처리해야하는 데이터의 URI 를 명시합니다.
( 브로드캐스트 리시버에게는 공지되는 액션을 가리킵니다. )
예를들어, 카메라 버튼이 눌러졌다 라는 이벤트가 발생하면 그것에 귀 기울이고 있던 관계자(party) 에게 공지하는 구조이죠.
각각의 컴포넌트에 대해 활성화 할 수 있는 별도의 메소드가 있습니다.
액티비티 활성화
액티비티는 인텐트 객체를
Context.startActivity() 또는
Activity.startActivityForResult()
의 파라미터로 전달함으로써 실행됩니다.Activity.startActivityForResult()
이것을 받는 액티비티는
getIntent()
메소드를 호출함으로써 실행하게 한 인텐트를 얻을 수 있습니다.그런 후, 다른 인텐트를 전달하기 위해서는 그 액티비티의
onNewIntent()
메소드를 호출하면 됩니다.하나의 액티비티는 다음번 액티비티를 실행하는 것이 대부분인데요,
이럴때 자신이 시작시킨 액티비티로부터 결과를 리턴받고자 한다면
startActivity() 대신에 startActivityForResult() 를 호출해야만 됩니다.
예를들어, 어떤 액티비티가 사용자에게 사진을 선택하게 하는 액티비티를 시작하고, 사용자가 선택한 사진을 리턴받아 처리하고 싶다면 그 결과는 액티비티의 onActivityResult() 메소드가 호출되는곳에 전달되는 인텐트 객체 내에서 리턴됩니다.
서비스 활성화
서비스는 Context.startService() 에 인텐트 객체를 파라미터로 전달함으로써 활성화가 됩니다.
그 뒤, 서비스의 onStart() 메소드를 호출하고 인텐트 객체를 전달합니다.
또한, 호출하는 컴포넌트와 대상이 되는 서비스간의 지속적인 연결을 위하여
Context.bindService() 메소드에 파라미터로 전달할 수 있습니다.
그렇게되면 해당 서비스는 onBind() 가 호출되는 곳에서 인텐트 객체를 받지요.
예를들어, 음악 재생 플레이어 같은 경우 서비스 컴포넌트를 써야하기 때문에,
액티비티는 음악재생 서비스와의 연결을 설정하기 위하여 bindService() 를 호출해야 됩니다.
브로드캐스트 리시버 활성화
브로드캐스트에는
Context.sendBroadcast() ,
Context.sendOrderedBroadcast(),
Conext.sendStickyBroadcast()
와 같이 다양한 메소드에 인텐트 객체를 전달하여 브로드캐스트를 만들 수가 있습니다.
그 뒤, 이것에 등록된 모든 브로드캐스트 리시버에게 onReceive() 를 호출하여 인텐트를 전달하죠!
활성화의 내용은 여기가 끝입니다 ^^;;
다음 포스팅엔 컴포넌트 종료하기를.................................
관련글
[안드로이드] - [안드로이드] 컴포넌트 #1 - 액티비티(Activity)
[안드로이드] - [안드로이드] 컴포넌트 #2 - 서비스
[안드로이드] - [안드로이드] 컴포넌트 #3 - 브로드캐스트 리시버
[안드로이드] - [안드로이드] 컴포넌트 #4 - 컨텐츠 프로바이더
[안드로이드] - [안드로이드] 컴포넌트
[안드로이드] - [안드로이드] 컴포넌트 #1 - 액티비티(Activity)
[안드로이드] - [안드로이드] 컴포넌트 #2 - 서비스
[안드로이드] - [안드로이드] 컴포넌트 #3 - 브로드캐스트 리시버
[안드로이드] - [안드로이드] 컴포넌트 #4 - 컨텐츠 프로바이더
[안드로이드] - [안드로이드] 컴포넌트
반응형