일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 안드로이드
- Android Studio Parcelable
- Kong돌이
- Toast
- 이클립스
- 권한추가
- 자바
- 안드로이드액티비티간데이터통신
- boolean getBooleanExtra()
- Android 클릭이벤트
- 카카오로그인API
- Android
- 인터넷권한
- 클릭중복방지
- 태스크정리
- 안드로이드 스튜디오
- 네이티브 키
- 해시키 추출
- 안드로이드 싱글
- 안드로이드스튜디오
- 카카오 로그인 구현하기
- Parcelable 인터페이스
- 개발자
- android studio
- 액티비티간 데이터전달
- 프로세스와 태스크
- 안드로이드원클릭
- 오류해결
- Android 클릭추상화
- 로그인API연동
- Today
- Total
Kong돌이의 코딩이야기
Android Studio 인텐트의 기본구성요소 알아보기 (명시적,암시적 인텐트) 정리 본문
우선 인텐트의 기본 구성요소는 '액션(Action)'과 '데이터(Data)'입니다.
'액션(Action)'은 수행할 기능이고 '데이터(Data)'는 액션이 수행될 대상의 데이터를 의미합니다.
댸표적인 액션으로는 ACTION_VIEW, ACTION_EDIT 등이 있습니다.
인텐트 객체를 만들 때에는 ACTION_VIEW와 함께 웹페이지 주소를 전달하면 단말 안에 설치되어 있던 웹브라우저의 화면이 뜨면서 해당 웹페이지를 보여줍니다.
"명시적 인텐트(Explicit Intent)"
인텐트에 클래스 객체나 컴포넌트 이름을 지정하여 호출할 대상을 확실히 알 수 있는 경우 주로 애플리케이션 내부에서 사용한다. 명시적 인텐트를 사용하는 이유로는 특정 컴포넌트나 액티비티가 명확하게 실행되어야 할 경우이다.
"암시적 인텐트(Implicti Intent)"
액션과 데이터를 지정하긴 했지만 호출할 대상이 달라질수 있는 경우
암시적 인텐트는 액션과 데이터로 구성되지만 그 외에도 여러 가지 속성을 가지고 있다.
대표적인 것으로 '범주(Category)', '타입(Type)', '컴포넌트(Component)', '부가 데이터(Extra Data)'를 들수 있다
범주(Category) | 액션이 실행되는 데 필요한 추가적인 정보를 제공한다. 예를 들어, CATEGORY_LAUNCHER는 최상위 앱으로 설치된 앱들의목록을 보여주는 애플리케이션 런처(Launcher) 화면에 이 앱을 보여주어야 한다는 것을 의미한다. |
타입(Type) | 인텐트에 들어가는 데이터의 MIME타입을 명시적으로 지정한다. 보통 MITE 타입은 데이터만으로도 구별이 가능하지만 명시적으로 지정할 필요가 있는 경우도 있다. |
컴포넌트(Component) | 인텐트에 사용될 컴포넌트 클래스 이름을 명시적으로 지정한다. 보통 이 정보는 인텐트의 다른 정보를 통해 결정된다. 이 속성이 지정될 경우에는 지정된 컴포넌트가 실행되도록 한다. 새로운 액티비티를 정의하고 그 액티비티의 클래스 객체를 인텐트에 전달하여 실행하는 방법도 컴포넌트를 지정하는 방식과 같다. |
부가 데이터(Extra Data) | 인텐트는 추가적인 정보를 넣을 수 있도록 번들(Bundle) 객체를 담고 있다. 이 객체를 통해 인텐트 안에 더 많은 정보를 넣어 다른 앱 구성요소에 전달 할 수 있다. 예를 들어, 이메일을 보내는 액션이 있다면 이메일에 제목,내용 등을 부가 데이터로 넣어 전달해야 이메일 앱이 그 데이터를 받아 처리 할 수 있다. |
컴포넌트(Component)
액티비티와 같은 독립적인 구성 요소
MIME타입
일반적으로 웹 서버에서 사용하는 MIME타입과 같다 예를 들어 "http://로 시작하는 문자 열의 경우에는 웹페이지 주소를 나타내는 URL이라고 인식하는 것과 같다. 결국 인텐트 전달 메커니즘도 이렇게 MIME타입을 구분한 후 설치된 앱들 중에 적절한 것을 찾아 액티비티를 띄워준다.
'코딩이야기 > 안드로이드' 카테고리의 다른 글
Android Studio 플래그 정의 (0) | 2021.08.28 |
---|---|
Android Studio 액션과 데이터를 활용한 전화걸기 예제 (0) | 2021.08.26 |
Android Studio startActivityForResilt 메서드 활용예제 (0) | 2021.08.25 |
Android Studio 버튼 클릭 시 부분화면 추가하기 (Inflater 활용) 예제 (0) | 2021.08.25 |
Android Studio 프로그레스바 사용 예제 (0) | 2021.08.24 |