kang9366
Repository
kang9366
글쓰기
설정
전체 방문자
오늘
어제
  • 분류 전체보기 (143)
    • Programming (70)
      • Java (1)
      • C++ (11)
      • Kotlin (12)
      • Keras (2)
      • Android (34)
      • Jetpack Compose (1)
      • Error Solution (7)
    • CS (36)
      • 자료구조 (13)
      • 운영체제 (1)
      • 알고리즘 (4)
      • 컴퓨터 보안 (8)
      • 기타 (10)
    • Data Science (28)
      • 데이터분석 (7)
      • 머신러닝 (14)
      • 딥러닝 (7)

인기 글

최근 글

최근 댓글

Github · Instagram · Facebook
kang9366

Repository

Programming/Android

[Android] Intent

2022. 11. 18. 06:05

안드로이드 어플리케이션을 구성하는 네 가지 구성요소에는 Activity, Service, Broadcast Receiver, Content Provider가 있다.
Intent란 이러한 어플리케이션 구성요소간에 작업 수행을 위한 정보를 전달하는 역할을 한다.

 

명시적 인텐트와 암시적 인텐트

인텐트는 명시적 인텐트(Explicit Intent)와 암시적 인텐트(Implicit Intent)로 구분할 수 있다.
인텐트에 클래스 객체나 컴포넌트 이름을 지정하여 호출될 대상을 확실히 알 수 있는 경우에는 명시적 인텐트가 필요하고 호출될 대상의 속성들을 지정했지만 호출될 대상이 달라질 수 있는 경우에는 암시적 인텐트가 필요하다.

 

명시적 인텐트

명시적 인텐트는 인텐트에 클래스 객체나 구성요소 이름을 지정하여 호출할 대상을 확실히 알 수 있는 경우에 사용한다.

 

명시적 인텐트 사용 예제

val intent = Intent(this, SubActivity::class.java)
startActivity(intent)

 

 

암시적 인텐트

암시적 인텐트는 실행할 구성요소가 달라질 수 있는 경우에 사용한다. 특정 구성 요소의 이름을 명시하지 않고 수행할 작업을 선언하여 다른 앱의 구성 요소가 이를 처리할 수 있도록 해준다.

예를 들면 ACTION_VIEW를 통해 데이터로 "http://"로 시작하는 문자열을 전달하였는데, 이를 실행할 컴포넌트(웹 브라우저)가 여러 개 있는 경우에 시스템이 암시적 인텐트를 받아 데이터의 포맷을 확인한 후 적절한 컴포넌트를 찾아 실행해준다.

 

 

 

저작자표시 비영리 변경금지 (새창열림)

'Programming > Android' 카테고리의 다른 글

[Android] Action Bar  (0) 2022.11.23
[Android] Fragment  (0) 2022.11.23
[Android] Broadcast Receiver  (0) 2022.11.17
[Android] Service  (0) 2022.06.24
[Android] Conent Provider  (0) 2022.06.23
    'Programming/Android' 카테고리의 다른 글
    • [Android] Action Bar
    • [Android] Fragment
    • [Android] Broadcast Receiver
    • [Android] Service
    kang9366
    kang9366

    티스토리툴바