[AOS] 동작원리

김영진·2022년 2월 18일
0

Android with Kotlin

목록 보기
1/1

내용

안드로이드 애플리케이션은 4대 구성 요소들을 통합 관리하는 번들 개념이다.

4대 구성 요소

  • Activity : 눈에 보이는 화면을 관리하는 실행 단위
  • Sercive: 화면을 가지지 않는 실행 단위, 백그라운드 프로세싱
  • Broadcast Receiver : OS가 메세지를 받으면 실행되는 실행 단위
    평소에는 도착하지 않다가 메세지가 도착하거나 배터리가 다 되었을때 대응하기 위한 실행단위를 만들때 사용
  • Content Provider : 저장된 데이터를 제공하기 위해 실행되는 실행 단위
    저장된 데이터를 다른 어플리케이션이 필요로할때 제공함

프로젝트 구조

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

어플리케이션 설치

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

어플리케이션 실행

  • 안드로이드 애플리케이션이 실행되면 안드로이드 OS는 첫 번째 화면을 사용자에게 보여주려고 한다.
  • 이때 AndroidMenifest.xml 에 있는 여러 구성 요소 중 activity를 찾는다.
  • 이 activity 중에 다음과 같이 작성되어 있는 것을 첫 화면을 관리하는 요소로 판단하고 이를 싱행시켜 준다.
<activity android:name=".MainActivity">
  <intent-filter> <!-- Activity 의 이름을 설정하는 태그 -->
    <action android:name="android.intent.action.MAIN" /> <!-- MAIN은 딱하나만 등록되어서 사용될 수 있는 이름 -->
    <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
</activity>
  1. 어플리케이션 실행 시 MAIN이라는 이름을 가진 액션을 찾고 엑티비티 이름과 동일한 파일을 찾아서 실행함
  2. activity의 name 속성의 클래스 객체를 생성한 후 onCreate 메서드를 호출한다.
  3. setContentView 메서드에 관리할 화면을 지정하는데, res폴더의 layout에 있는 xml파일을 지정하게 된다.
profile
2021.05.03) Flutter, BlockChain, Sports, StartUp

0개의 댓글