[Android] 02. 안드로이드 앱의 기본 구조
02. 안드로이드 앱의 기본 구조 목차 02-1 안드로이드 소개 안드로이드는 어떤 특징이 있을까? 안드로이드 버전에 관하여 02-2 안드로이드 앱 개발의 특징 컴포넌트를 기반으로 한 개발 리소스를 활용한 개발 02-3 앱 구성 파일 분석 프로젝트의 폴더 구성 알아보기 모듈의 폴더 구성 알아보기 02-1 안드로이드 소개 ✅ 안드로이드는 어떤 특징이 있을까? 안드로이드는 공개 운영체제인 리눅스를 기반이다. 안드로이드 앱은 자바나 코틀린 언어를 이용해 개발한다. 안드로이드 운영체제의 주요 부분과 라이브러리, 구글에서 만든 앱 등의 코드는 대부분 공개되어 있다. 안드로이드 스마트폰은 구글뿐 아니라 여러 제조업체에서 만들 수 있다. 안드로이드 앱은 구글의 플레이 스토어뿐만 아니라 다양한 방법으로 사용자에게 배포할 수 있다. 안드로이드 플랫폼에서는 모든 응용 프로그램이 평등하다는 원칙을 바탕으로, 모바일에서 기본으로 탑재된 앱과 개발자가 만든 앱이 똑같은 환경에서 똑같은 API를 이용한다. 안드로이드 운영체제의 구조 리눅스 커널(Linux kernel): 안드로이드는 리눅스에 기반을 둔 오픈소스 소프트웨어이다. 하드웨어 추상화 레이어(hardware abstraction layer, HAL): 상위의 자바 API 프레임워크에서 하드웨어 기능을 이용할 수 있게 표준 인터페이스를 제공한다. 안드로이드 런타임(Android runtime): ART라고 하며 앱을 실행하는 역할을 한다. 네이티브 C/C++ 라이브러리: 네이티브 C/C++ 라이브러리를 이용할 수도 있는데 이를 안드로이드 NDK(native development kit)라고 합니다. 자바 API 프레임워크: 앱을 개발할 때 사용하는 자바 API이다. 안드로이드는 자바 클래스를 런타임 때 그대로 실행하지 않고 DEX파일로 컴파일한다. DEX파일을 해석하는 ART Android runtime에서 실행한다. ✅ 안드로이드 버전에 관하여 안드로이드 버전은 12.0, 13.0처럼 운영체...