본문 바로가기

모바일/안드로이드

[Android Studio]Activity 와 Intent

Android App Components

안드로이드 앱의 기본 구성 요소

시스템이나 사용자가 앱에 들어올 수 있는 진입점

 

Activity

사용자가 상호작용을 하는 진입점, GUI 제공

각 Activity는 독립되어 있으며 앱이 허용할 경우 외부에서도 Activity 사용 가능

 

Service

백그라운드에서 실행, GUI 제공 X

앱이 화면에 출력되지 않아도 동작

 

Broadcast Receiver

시스템 또는 다른 앱이 전송하는 Broadcast를 받을 수 있으며 Broadcast를 통해 앱 실행 가능

GUI는 없지만 상태 표시줄에 알림 표시 가능

 

Content Provider

파일, SQLite 등의 데이터 제공, 다른 앱이 사용할 수 있도록 적잘한 API 제공

 

 

Activity Lifecycle

 

Intent

android app components 중 Activity, Service, Broadcast Receiver를 부를 수 있는 메시지

안드로이드의 컴포넌트는 직접 new MainActivity()와 같은 형태로 만들어 쓸 수 없으며 intent를 사용해 불러 쓸 수 있음

 

불편한 점 : 아주 간단한 화면 전환도 intent 객체를 생성해야 함

편한 점 : 요청을 받은 Activity가 내 앱이 아니라도 사용법 동일

            Service, Broadcast Receiver 등을 동일한 사용법으로 불러 쓰기 가능

 

명시적 Intent : 대상 클래스를 지정하여 요청, 즉 내 앱의 컴포넌트를 사용할 때 사용

묵시적 Intent : 내가 원하는 동작을 지정하여 요청, 다른 앱이 공개한 컴포넌트를 불러 쓸 수 있음