안드로이드는 개발자가 직접 실행하지 않고 ART가 필요한 메서드를 실행시킨다.
어플리케이션 동작 순서
- 사용자의 아이콘 터치
- AndroidManifest.xml의 "android.intent.action.MAIN"의 이름인 intent filter의 activity 탐색
- 찾은 activity name에 설정되어 있는 클래스 이름 탐색
- 찾은 클래스의 객체 생성
- onCreate 메서드 호출
- setContentView 메서드 내 관리할 화면 탐색
4대 구성 요소
- activity : 눈에 보이는 화면을 관리하는 실행 단위
- service : 화면을 가지지 않은 실행 단위 (백그라운드 프로세싱)
- broadcast receiver : OS가 메시지를 받으면 실행되는 실행 단위
- content provider : 저장된 데이터를 제공하기 위해 실행되는 실행 단위
프로젝트 구조
- AndroidManifest.xml : 어플리케이션 관련 설정 파일
→ 개발자가 안드로이드 OS한테 어플리케이션 특징을 알려주는 용도로 사용
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
- java : 개발자가 작성하는 소스 코드
- res : 어플리케이션에서 필요한 리소스
- R : res 폴더
- layout : res 폴더 안 layout 폴더
- activity_main : layout 폴더 안 xml 파일
setContentView(R.layout.activity_main)
- res (generated) → 안드로이드 스튜디오가 사용