Android의 애플리케이션을 구성하는 네 가지 기본 요소가 무엇이냐?
1. Activity
2. Service
3. Broadcast Receiver
4. Content Provider
Intent는 해당 요소들 간에 작업 수행을 위한 정보를 전달하는 역할을 한다.
Intent를 통해 메시지를 전달하고, 데이터를 주고받기도 한다.
Intent는 명시적 인텐트와 암시적 인텐트로 구분한다.
명시적 인텐트가 무엇인가?
-> 실행하고자 하는 컴포넌트 이름과 클래스 명이 명시적으로 작성되 호출할 대상을 확실히 알 수 있는 경우에 사용.
ex) 실행하고자 하는 컴포넌트가 NextActivity일 때
val intent = Intent(this, NextActivity::class.java)
암시적 인텐트는 무엇인가?
-> 인텐트의 액션과 데이터를 지정하긴 했지만, 호출할 대상이 달라질 수 있는 경우에 사용
-> 시스템은 해당 의도를 적절히 처리할 수 있는 컴포넌트를 찾아 해당 작업을 처리한다.
// 암시적 인텐트 목적에 맞는 호출 : 지도보기, 연락처보기, 인터넷, SNS공유 등...
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com/"))
Intent Filter
특정 인텐트를 받을지 말지를 정의하는 역할을 수행한다.
이를 통해 컴포넌트의 특징이 정해진다.
Filter에 android.intent.action.MAIN과 android.intent.category.LAUNCHER로 선언하면,
런처에서 클릭시 진입점이 되는 Activity를 설정할 수 있다.
Intent Filter는 Manifest에 정의해주면 된다.
'안드로이드 > 정리' 카테고리의 다른 글
[Android] Firebase에 관해... (0) | 2021.10.18 |
---|---|
[Android] ContentResolver, ContentProvider에 관해 (0) | 2021.10.12 |
[Androdi] Fragment에 관해..① (0) | 2021.10.08 |
[Android] Task에 관해 (0) | 2021.10.07 |
[Android] Activity의 생명주기 (0) | 2021.10.05 |