Android의 구성 요소 (1)

2021. 8. 2. 17:28
728x90

안드로이드의 구성 요소로는 

Activity / Service / Intent / Intent Filter / Broadcast Receiver / Content Provider / Notification / Fragment 등이 있다. 그리고 이 중에서 안드로이드의 4대 구성 요소 (컴포넌트)는 빨간 글씨인 Activity, Service, Broadcast Receiver, Content Provider 이다.

각각의 구성 요소가 무슨 역할을 하는지 알아보도록 하자!

 


 

 [ Activity ] 

: 사용자 인터페이스 화면을 구성하는 컴포넌트. 시각적인 사용자 인터페이스(UI)를 가짐.

  • 사용 방법 
    1. Activity Class를 상속 받음
    2. Activity Class의 생명주기 메서드를 재정의해서 원하는 기능을 구현함
  • 특징
    • Activity 크기는 상태바 (status bar) 영역을 제외한 화면 전체
    • 여러 개의 Activity를 동시에 보여줄 수 없음
    • 다른 application의 activity를 호출할 수 있음
    • Activity 안에 Fragment 추가해서 화면을 분할하고 별도로 조작 가능

 

 [ Service ] 

: Activity와 상관없이 background에서 실행되는 컴포넌트. 즉, 화면을 구성하는 layout을 작성할 필요가 없고, 지속적으로 장시간 동작해야 하는 기능을 service에 구현함.

  • 사용 방법
    1. Service Class를 상속 받음
    2. Service Class의 생명주기 메서드를 재정의해서 원하는 기능을 구현함

 

 [ Broadcast Receiver ] 

: 특정 broadcast에 반응하는 컴포넌트.

  • 특징
    • 사용자 인터페이스 (UI)를 가지지 않음
    • 시간대 변경, 배터리 부족 등의 broadcast를 받아서 처리한 뒤에 다시 대기 모드로 진입함
    • 10초 이내로 작업을 끝냄 (10초 이상 걸리는 작업은 별도의 스레드로 처리하거나 Service에 구현해야 함)

 

 [ Content Provider ] 

: Application 간의 데이터 공유를 위해서 표준화 된 인터페이스를 제공하는 컴포넌트.

  • 특징
    • Content Provider가 제공ㅇ하는 실제 데이터는 file system 또는 DB에 있음
    • read, write, update, delete 기능을 사용할 수 있음

 

 [ Intent ] 

: 컴포넌트에 액션, 데이터 등을 전달하는 메시지 컴포넌트.

  • Intent 객체의 구성 요소
    • Action : 수행할 action 이름
    • Data : 수행할 data의 uri
    • Category : 수행할 action에 대한 추가 정보
    • Type : 수행할 data의 명시적인 data type 
    • Component name : 대상 컴포넌트의 완전한 class명
    • Extras : intent를 다루는 컴포넌트에 추가적으로 전달할 한 쌍의 키와 값 (key, value)

 

 [ Intent Filter ] 

: 특정 intent를 받을지 말지 결정하는 역할. 이를 통해 컴포넌트의 특징이 정해짐.

  • 특징 : app > manifests > AndroidManifest.xml 파일에 정의됨 (아래의 예시 참고)
<activity android:name=".MainActivity">
	<intent-filter>
		<action android:name="android.intent.action.MAIN" />

		<category android:name="android.intent.category.LAUNCHER" />
	</intent-filter>
</activity>

 

 [ Notification ] 

: Application에서 발생한 이벤트를 사용자에게 알리는 수단. Toast, Dialog는 "팝업 메세지" 라고도 불림.

  1. Toast : 사용자에게 지금 당장 알려야하는 정보가 있을 때 사용됨 (잠시 화면을 가림)
  2. Status Bar (상태바) : 사용자에게 정보를 알려줘야하지만, 급한 내용은 아니므로 나중에 볼 수 있도록 하는 경우에 사용됨 (정보를 상태바에 표시)
  3. Dialog : 사용자의 결정이 반드시 필요할 때 사용됨 (화면 대부분을 가림)

 

 [ Flags ] 

: Activity의 동작 방식을 변경함

  • 특징
    • setFlags(int), addFlags(int) 사용
    • intent에 flags (플래그)를 설정해서 특정 정보를 전달함
728x90

BELATED ARTICLES

more