2. 안드로이드 앱이 기본 구조

2.1 안드로이드 소개

  • 안드로이드 런타임(Dalvik – (안드로이드 버전 5.0) –> ART(Android RunTime))
    • dex파일(앱파일) 해석하여 실행

2.2 안드로이드 앱 개발의 특징

  • 생명주기를 안드로이드에서 관리하면 컴포넌트, 개발자가 관리하면 일반 클래스임
  • 안드로이드 컴포넌트는 4종류
    • 액티비티: 화면구성(화면 1개 담당)
    • 서비스: 백그라운드
    • 콘텐츠 프로바이더: 앱간 데이터 공유
    • 브로드캐스트 리시버: 시스템 이벤트 수신
  • 애플리케이션 라이브러리를 사용할 수 있음
  • 리소스 xml 파일로 등록하여 사용

2.3 앱 구성 파일 분석

  • 하나의 모듈 ~= 하나의 앱

build.gradle.kts (빌드 설정 파일)

  • gradle: 안드로이드 빌드 도구

AndroidManifest.xml (메인 환경 파일)

  • 속성값이 @로 시작하면 리소스
  • 시스템은 매니페스트에 있는 대로 앱을 실행 ~= 컴포넌트를 매니페스트에 등록해야 한다. (Activity, Service, Receiver, Provider, name 속성은 필수)
  • 태그는 액션별 실행 정의

res 폴더 (리소스)

  • drawable: 이미지
  • layout: UI 구성에 필요한 xml
  • mipmap: 앱 아이콘
  • values: 값 리소스
  • R.java 파일에 상수 변수로 자동등록
  • 지정된 방식으로만 사용됨

activity_main.xml (기본 레이아웃 파일)

MainActivity.kt (메인 액티비티)

  • MainActivity 클래스가 실행되면 onCreate() 호출됨