2. 안드로이드 앱이 기본 구조#
2.1 안드로이드 소개#
- 안드로이드 런타임(Dalvik – (안드로이드 버전 5.0) –> ART(Android RunTime))
- dex파일(앱파일) 해석하여 실행

2.2 안드로이드 앱 개발의 특징#
- 생명주기를 안드로이드에서 관리하면 컴포넌트, 개발자가 관리하면 일반 클래스임

- 안드로이드 컴포넌트는 4종류
- 액티비티: 화면구성(화면 1개 담당)
- 서비스: 백그라운드
- 콘텐츠 프로바이더: 앱간 데이터 공유
- 브로드캐스트 리시버: 시스템 이벤트 수신

- 애플리케이션 라이브러리를 사용할 수 있음
- 리소스 xml 파일로 등록하여 사용
2.3 앱 구성 파일 분석#
build.gradle.kts (빌드 설정 파일)#
AndroidManifest.xml (메인 환경 파일)#
- 속성값이 @로 시작하면 리소스
- 시스템은 매니페스트에 있는 대로 앱을 실행 ~= 컴포넌트를 매니페스트에 등록해야 한다. (Activity, Service, Receiver, Provider, name 속성은 필수)
- 태그는 액션별 실행 정의
res 폴더 (리소스)#
- drawable: 이미지
- layout: UI 구성에 필요한 xml
- mipmap: 앱 아이콘
- values: 값 리소스
- R.java 파일에 상수 변수로 자동등록
- 지정된 방식으로만 사용됨
activity_main.xml (기본 레이아웃 파일)#
MainActivity.kt (메인 액티비티)#
- MainActivity 클래스가 실행되면 onCreate() 호출됨