안드로이드에서 intent가 뭔가요?


안드로이드에서 intent가 하는 역할이 뭔가요?

  • 2016년 01월 27일에 작성됨

조회수 277


1 답변


좋아요
0
싫어요
채택취소하기

어플리케이션이 한 가지의 액티비티만으로 이루어지는 경우는 거의 없습니다, 대부분 여러개의 액티비티, 서비스 등으로 구성되어 각 컴포넌트들을 호출하여 필요한 작업을 수행하는 구조를 이루고 있죠. 당장 주소록 어플리케이션만 해도 저장된 사람들을 보여주는 액티비티, 새 주소록을 추가하는 액티비티 등 여러 가지의 액티비티로 구성되어 있습니다.

어떤 컴포넌트에서 다른 컴포넌트를 호출하려면 "다른 컴포넌트를 호출하고 싶다"는 의사표현을 해야 합니다. 의사표현을 하려면 공통된 규약에 맞춰 이야기를 해야 합니다. 한 국가에서 하나의 언어를 사용하여 의사소통을 하는 것과 동일하죠.

안드로이드에서는 이러한 "의사표현"의 수단으로 인텐트 객체를 사용합니다.

안드로이드에서 '인텐트'라 하면 일반적으로 인텐트 객체를 뜻합니다. 인텐트 객체는 안드로이드 어플리케이션 내의 컴포넌트를 호출하기 위한 여러 정보들을 담고 있으며, 이 정보들에는 호출 대상 컴포넌트의 이름이 명시되어 있을 수도 있고, 혹은 호출 대상 컴포넌트의 특성만 나열되어 있을 수도 있습니다. 또한, 어플리케이션 호출 외에도 호출된 액티비티가 자신을 호출한 액티비티에게 결과값 등을 전달할 때에도 인텐트 객체에 데이터를 담아 전달합니다. 인텐트 객체는 마치 물건을 전달해주는 "택배회사"와 유사하다고 볼 수 있습니다. :)

이러한 인텐트를 종류별로 분류해보면, 호출 대상 컴포넌트의 이름이 명시되어 있는 인텐트, 즉 어떤 것을 호출해야 할지 명시되어 있는 인텐트를 명시적 인텐트(Explicit Intent), 라 하고, 호출 대상 컴포넌트가 정확히 정해진 것이 아니라 호출 대상 컴포넌트의 특성만 나열되어 있는 인텐트를 암시적 인텐트(Implicit Intent)라 합니다.

  • 2016년 01월 27일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close