[ 앱 개발자 도전기 : 안드로이드 ] Android 의 동작 원리.
∇안드로이드의 동작 원리
목 차
1. 안드로이드 앱 번들
2. 안드로이드 4대 구성요소
3. 프로젝트 구조
4. 안드로이드 앱 설치
5. 안드로이드 앱 동작 순서
1. 안드로이드 앱 번들 [ Android App Bundle ]
안드로이드 앱은 4대 구성 요소들을 통합 관리하는 번들 * 패키지 개념이라고 할 수 있습니다 !
안드로이드 앱은 번들 개념이기 때문에, '앱을 실행한다' 라는 말은 개념과 조금 맞지 않긴 합니다.
● 번들이란 ?
: 특정한 것들의 묶음이라는 뜻입니다.
● 안드로이드 앱 번들 ?
: 앱의 모든 컴파일된 코드 및 리소스를 포함하며,
APK 생성 및 서명을 Google Play에 맡기는 게시 방식입니다.
● What APK ( Android Application Package ) ??
: Android SDK 도구는 모든 데이터 및 리소스 파일과 함께 코드를 컴파일하여서 하나의 APK를 만듭니다.
: Android 패키지는 파일의 확장자가 .apk인 아카이브 파일입니다.
: 하나의 APK 파일 안쪽에는 Android 앱의 모든 콘텐츠가 들어 있습니다.
: Android로 구동하는 기기가 앱을 설치할 때 이 파일을 사용합니다.
※ 모바일 SDK란 ?
== SDK(소프트웨어 개발 키드)는 개발자에게 다른 프로그램에 추가하거나 연결할 수 있는
커스텀 앱을 제작할 수 있는 기능을 제공하는 도구 모음.
- > SDK가 없다면, 모든 기능을 처음부터 구현해야 하는 불편함..
[ 현재 시스템과의 호환 여부만 간단히 확인하면, 손쉬운 새 도구 생성 및 프로세스 진행이 가능 ]
2. 안드로이드 4대 구성요소
안드로이드의 4대 구성요소란, 안드로이드 앱의 필수적인 기본 구성 요소를 의미합니다.
☆ 각 구성 요소는 시스템이나 사용자가 앱에 접근할 수 있도록 하는 진입점이며,
다른 구성 요소에 종속되는 구성 요소도 있습니다.
○ Activity
: 눈에 보이는 화면을 관리하는 실행 단위
= > 눈에 보이는 화면이 실행될 때 안드로이드 OS가 객체를 생성해서 메소드를 호출.
○ Service
: 화면을 가지지 않은 실행 단위 ( 눈에 보이지 않는 실행 단위 )
== 즉, 백그라운드 프로세싱을 의미합니다.
= > 백그라운드 프로세싱을 발생시켜야 할 때 클래스의 객체를 생성하여 필요한 메소드를 호출.
○ Broadcast Receiver
: OS가 메시지를 받으면 실행되는 단위.
== 시스템에서 발생하는 사건에 대해 처리가 필요한 경우
= > 어떤 사건이 발생하게 되면, 그 사건과 관련이 있는 클래스들의 객체를 생성한 다음
객체가 가지고 있는 메소드를 호출합니다.
○ Content Provider
: 저장된 데이터를 제공하기 위해 실행되는 실행 단위.
= > 저장된 데이터를 다른 어플리케이션이 사용하기 위해 요청할 때
객체를 생성해서 메소드를 호출하게 됩니다.
안드로이드 어플리케이션은 이러한 4대 구성요소들을 통합 관리하는 실행단위의 꾸러미(번들)입니다.
즉, 안드로이드 어플리케이션 자체가 실행 파일이 아니라,
그 안에 각각 실행이 가능한 독립적인 실행단위들이 있어 각각의 실행 단위가 자신들이 실행할 순서가 될 때
독립적으로 실행이 되면서 개발자가 작성한 코드를 실행하게 됩니다.
그것들이 모여서 하나의 어플리케이션을 구성하게 됩니.
위 구성 요소들이 실행단위가 아니고 모두 클래스로 구성되어 있습니다.
안드로이드가 어떤 시점이 되면 그 시점에 맞는 클래스의 객체를 생성해서 자동으로 메소드를 호출하게 됩니다.
3. 안드로이드 프로젝트 구조.
◎ AndroidManifest.xml
: 안드로이드 애플리케이션에 관련된 설정 파일
◎ java
: 개발자가 작성하는 소스 코드
◎ res
: 이미지, 사운드, 데이터 등 애플리케이션에서 필요한 리소스
4. 안드로이드 앱 설치
A. 제작된 앱은 apk라는 파일로 압축되어 마켓에 등록됩니다.
B. apk 파일을 단말기에 다운로드하게 되면 자동으로 설치가 이루어집니다.
C. 설치가 완료되면 안드로이드 OS는 AndroidMAnifest.xml 파일의 내용을 분석합니다.
D. 여기에서 안드로이드 4대 구성요소 중 어떤 것들이 있는지 파악하여 정리합니다.
5. 안드로이드 앱 동작 순서
A. 유저가 애플리케이션 아이콘을 터치합니다.
B. AndroidMAnifest.xml에 기록되어 있는 Activity들 중 "android.intent.action.MAIN" 이름으로 설정된
intent Filter가 있는 Activity를 찾습니다.
C. 찾은 Activity에 name에 설정되어 있는 클래스 이름을 찾습니다.
D. 찾은 클래스의 객체를 생성하여, OnCreate 메서드를 호출해줍니다.
E. 이 때 setContentView 메서드에 관리할 화면을 지정하는데 res 폴더의 layout에 있는 xml 파일을 지정 !
F. 이를 통해서 화면을 구성하고, 단말기 화면에 나타내게 됩니다.
'App_Dev > Android' 카테고리의 다른 글
[ 앱 개발자 도전기 : 안드로이드 ] View가 그려지는 순서 (0) | 2024.11.07 |
---|---|
[ 앱 개발자 도전기 : 안드로이드 ] 안드로이드의 Activity LifeCycle ( 액티비티 생명주기 ) (1) | 2024.11.07 |
[ 앱 개발자 도전기 : 안드로이드 ] 안드로이드 4대 컴포넌트 정리. (1) | 2024.11.07 |
[ 앱 개발자 도전기 : 안드로이드 ] 안드로이드 운영체제 부분 정리하기. (4) | 2024.11.05 |
[ 앱 개발자 도전기 : 안드로이드 ] 안드로이드 UI - - 뷰(View)와 XML 레이아웃 기본 구조 (0) | 2024.11.04 |