Archives
Recent Posts
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Today
Total
관리 메뉴

안드로이드 개발자의 창고

[27일차 Android] 동작 원리 본문

Computer/Android

[27일차 Android] 동작 원리

Wise-99 2023. 6. 7. 11:50

 

출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 PPT

 

 

 

✔️ 안드로이드 4대 구성요소

  • Activity : 눈에 보이는 화면을 관리하는 실행 단위
  • Service : 화면을 가지지 않은 실행 단위. 백그라운드 프로세싱
  • Broadcast Receiver : OS가 메시지를 받으면 실행되는 실행 단위
  • Content Provider : 저장된 데이터를 제공하기 위해 실행되는 실행 단위
  • 안드로이드 애플리케이션은 4대 구성 요소들을 통합 관리하는 번들 개념이다.

 

 

 

✔️ 프로젝트 구조

  • AndroidManifest.xml : 안드로이드 애플리케이션에 관련된 설정 파일
  • java : 개발자가 작성하는 소스 코드
  • res : 이미지, 사운드, 데이터 등 애플리케이션에서 필요한 리소스

 

 

 

✔️ 애플리케이션 설치

  1. 제작된 애플리케이션은 apk라는 파일로 압축되어 마켓에 등록된다.
  2. apk 파일을 단말기에 다운로드하게 되면 자동으로 설치가 이루어진다.
  3. 안드로이드 OS는 설치가 완료되면 AndroidManifest.xml 파일의 내용을 분석하게 된다.
  4. 여기에서 안드로이드 4대 구성요소 중 어떤 것들이 있는지 파악하여 이를 정리하게 된다.

 

 

 

✔️ 애플리케이션 실행

  • 안드로이드 애플리케이션이 실행되면 안드로이드 OS는 첫 번째 화면을 사용자에게 보여주려고 한다.
  • 이 때 AndroidManifest.xml 에 있는 여러 구성 요소 중 activity 를 찾는다.
  • 이 activity 중에 다음과 같이 작성되어 있는 것을 첫 화면을 관리하는 요소로 판단하고 이를 실행시켜준다.

AndroidManifest.xml 의 코드

<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>

 

 

  • activity의 name 속성의 클래스의 객체를 생성한 후 onCreate 메서드를 호출한다.
  • 이 때 setContentView 메서드에 관리할 화면을 지정하는데 res 폴더의 layout에 있는 xml 파일을 지정하게 된다.
  • 이를 통해 화면을 구성하고 단말기 화면에 나타나게 된다.

MainActivity.kt의 코드

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
}