[ 앱 개발자 도전기 : 안드로이드 ] Android 의 동작 원리.

0

App_Dev : Android.

목록 보기
1/11
post-thumbnail

[ 앱 개발자 도전기 : 안드로이드 ] Android 의 동작 원리.

∇안드로이드의 동작 원리

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. 이를 통해서 화면을 구성하고, 단말기 화면에 나타내게 됩니다.

0개의 댓글

관련 채용 정보