Android

[Android] Intent(인텐트)

dev_zoe 2021. 1. 20. 02:06
반응형

Intent : 안드로이드 컴포넌트 사이의 통신수단 ⇒ 메시징 객체

           다른 앱 구성요소로부터 작업을 요청하는데 사용

기본적인 사용사례 3가지

1. 액티비티 시작 :

startActivity에 시작할 액티비티와 이에 필요한 데이터를 담은 intent 전달

만약, 그 전달된 액티비티가 완료되었을 때 결과를 수신하려면 startActivityForResult 호출하고,

그 결과를 사용하고자 할 때 onActivityResult에서 별도의 intent 객체로 수신

 

2. 서비스 시작 :

API 5.0 이상 ⇒ JobScheduler로 서비스 시작

API 5.0 이하 ⇒ startService에 시작할 서비스와 데이터를 담은 intent 전달

 

3. 브로드캐스트 ⇒ 모든 앱이 수신할 수 있는 메시지.

sendBroadCast or sendOrderedBroadCast에 intent 전달

인텐트 유형

  1. 명시적 인텐트 : 인텐트를 충족하는 애플리케이션이 무엇인지 , 구성요소의 이름을 정확히 명시
  2. 암시적 인텐트 : 지정하지 않아도 수행할 일반적인 작업을 선언하여 다른 앱의 구성요소가 작업을 처리할 수 있도록 함

ex) 전화를 걸면 전화 화면이 뜨고, 위치 표시를 하려고 하면 지도 앱이 뜸

 

 

인텐트 사용법

명시적 인텐트 ⇒ 실행대상을 명확하게 지정

Intent (Context packageContext, Class<?> targetClass)

암시적 인텐트 ⇒ 실행할 작업을 지정하면 그 작업을 실행할 인텐트 실행

Intent(String action [, Uri uri])

 

인텐트를 이용한 정보 전달 ⇒ putExtra 메소드 사용. 대부분의 자료형과 객체 저장 가능. 키-값 조합으로 자료 저장

Intent putExtra (String key, int value) int값 전달

Intent putExtra (String key, String value) string값 전달

Intent putExtra (String key, Serializable value)

 

Serializable?

객체를 intent로 전달하고자 할때, 그 객체를 Serializable 인터페이스를 구현한 객체로 하여 전달(클래스 생성시 implements Serializable을 해야함)

인텐트를 저장한 Extra 필드값 읽기 ⇒ get자료형Extra 메소드 사용.

대부분의 자료형과 객체 저장 가능. 키-값 조합으로 자료 저장

 

출처 : developer.android.com/guide/components/intents-filters?hl=ko

반응형

'Android' 카테고리의 다른 글

[Android] 팔레트 항목 뜯어보기  (0) 2021.01.21
[Android] AsyncTask 클래스  (0) 2021.01.20
[Android] 스레드(Thread)와 핸들러(Handler)  (0) 2021.01.20
[Android] LifeCycle  (0) 2021.01.07
[Android] Manifest란?  (0) 2020.12.31