안드로이드 앱은 4대 구성 요소들을 통합 관리하는 번들 * 패키지 개념이라고 할 수 있습니다 !
안드로이드 앱은 번들 개념이기 때문에, '앱을 실행한다' 라는 말은 개념과 조금 맞지 않긴 합니다.
: 특정한 것들의 묶음이라는 뜻입니다.
: 앱의 모든 컴파일된 코드 및 리소스를 포함하며,
APK 생성 및 서명을 Google Play에 맡기는 게시 방식입니다.
: Android SDK 도구는 모든 데이터 및 리소스 파일과 함께 코드를 컴파일하여서 하나의 APK를 만듭니다.
: Android 패키지는 파일의 확장자가 .apk인 아카이브 파일입니다.
: 하나의 APK 파일 안쪽에는 Android 앱의 모든 콘텐츠가 들어 있습니다.
: Android로 구동하는 기기가 앱을 설치할 때 이 파일을 사용합니다.
== SDK(소프트웨어 개발 키드)는 개발자에게 다른 프로그램에 추가하거나 연결할 수 있는
커스텀 앱을 제작할 수 있는 기능을 제공하는 도구 모음.
- > SDK가 없다면, 모든 기능을 처음부터 구현해야 하는 불편함..
[ 현재 시스템과의 호환 여부만 간단히 확인하면, 손쉬운 새 도구 생성 및 프로세스 진행이 가능 ]
안드로이드의 4대 구성요소란, 안드로이드 앱의 필수적인 기본 구성 요소를 의미합니다.
: 눈에 보이는 화면을 관리하는 실행 단위
= > 눈에 보이는 화면이 실행될 때 안드로이드 OS가 객체를 생성해서 메소드를 호출.
: 화면을 가지지 않은 실행 단위 ( 눈에 보이지 않는 실행 단위 )
== 즉, 백그라운드 프로세싱을 의미합니다.
= > 백그라운드 프로세싱을 발생시켜야 할 때 클래스의 객체를 생성하여 필요한 메소드를 호출.
: OS가 메시지를 받으면 실행되는 단위.
== 시스템에서 발생하는 사건에 대해 처리가 필요한 경우
= > 어떤 사건이 발생하게 되면, 그 사건과 관련이 있는 클래스들의 객체를 생성한 다음
객체가 가지고 있는 메소드를 호출합니다.
: 저장된 데이터를 제공하기 위해 실행되는 실행 단위.
= > 저장된 데이터를 다른 어플리케이션이 사용하기 위해 요청할 때
객체를 생성해서 메소드를 호출하게 됩니다.
안드로이드 어플리케이션은 이러한 4대 구성요소들을 통합 관리하는 실행단위의 꾸러미(번들)입니다.
즉, 안드로이드 어플리케이션 자체가 실행 파일이 아니라,
그 안에 각각 실행이 가능한 독립적인 실행단위들이 있어 각각의 실행 단위가 자신들이 실행할 순서가 될 때
독립적으로 실행이 되면서 개발자가 작성한 코드를 실행하게 됩니다.
그것들이 모여서 하나의 어플리케이션을 구성하게 됩니.
위 구성 요소들이 실행단위가 아니고 모두 클래스로 구성되어 있습니다.
안드로이드가 어떤 시점이 되면 그 시점에 맞는 클래스의 객체를 생성해서 자동으로 메소드를 호출하게 됩니다.
◎ AndroidManifest.xml
: 안드로이드 애플리케이션에 관련된 설정 파일
◎ java
: 개발자가 작성하는 소스 코드
◎ res
: 이미지, 사운드, 데이터 등 애플리케이션에서 필요한 리소스