안드로이드 4대 컴포넌트(component)
1. 액티비티(Activity)
- UI 화면을 담당하는 컴포넌트
2. 서비스(Service)
- 백그라운드에서 실행되는 컴포넌트
- UI를 가지고 있지 않다.
- 애플리케이션이 종료되어도 이미 시작된 서비스는 백그라운드에서 계속 동작한다.
3. 브로드캐스트리시버(Broadcast Receiver)
- 안드로이드의 다양한 이벤트와 정보를 받아 반응하는 컴포넌트
4. 콘텐트 프로바이더(Content Provider)
- 데이터를 관리하고 다른 애플리케이션 데이터를 제공하는 컴포넌트
컨텍스트(Context)
- 애플리케이션 환경에 대한 정보에 접근하기 위한 인터페이스
- 추상 클래스이며 실제 구현은 안드로이드 시스템에 의해 제공된다.
- 안드로이드 프레임워크에서 Context는 Application Context와 Activity Context로 나뉜다.
Application Context는 애플리케이션 생명주기와 함께하고, Activity Context는 Activity Lifecycle의 영향을 받으며
onDestroy()와 함꼐 사라진다.
매니페스트(manifest)
매니페스트는 애플리케이션에 대한 필수적인 정보가 저장되어 있는 파일입니다.
xml 형식의 파일로 구성되어 있으며 여러 태그가 포함되어 있습니다.
- <manifest> : 애플리케이션의 패키지명과 버전 정보를 정의합니다.
- <application> : 앱 아이콘, 이름을 정의합니다.
- <activity> : 액티비티 클래스명과 이름을 정의합니다.
- <intent-filter> : 해당 컴포넌트의 intent-filter를 가리키는 것으로 해당 컴포넌트가 어떤 암시적 intent를 처리할 수 있는지를 정의합니다.
- <permisson> : 앱에서 사용하는 권한을 등록합니다.
이 외에도 <uses-configuration>, <uses-sdk>등의 태그들이 존재합니다.
안드로이드 크기 단위
dp(Density-independent pixels)
: 밀도 독립 단위로, 화면의 크기가 달라도 동일한 비율로 보여지는 특징이 있다.
sp(Scale-independent pixels)
: 스케일 독립 단위로, 글꼴 크기를 지정할 때 주로 사용한다. 시스템 설정에 따라 크기가 변경되는 특징이 있다.
인플레이션(Inflation)
: XML 레이아웃파일에 비치된 리소스들이 setContentView()나 LayoutInflator객체 등을 통해 메모리상에 실제로 객체화되어 애플리케이션에 보여지는 과정을 뜻한다.