안드로이드 어플리케이션은 4가지로 구성된다.
Activity : 눈에보이는 화면을 관리하는 실행단위
Service : 백그라운드 프로세싱으로 Activity와 유사하지만 보여지는 화면이 없다.
Broadcast Receiver : 시스템 감시 목적으로 사용.
Content Provider : 다른 어플리케이션에서 저장한 데이터를 또 다른 어플리케이션에서 사용할 수 있도록 제공해주는 목적으로 사용.
* 폴더 용도
manifests에 있는 AndroidManifest.xml : 개발자가 안드로이드 OS에게 알려주고 싶은 정보를 작성하는 곳
java에 있는 MainActivity의 확장자 kt면 코틀린 기반의 앱, java면 자바 기반의 앱
res에는 어플리케이션에서 사용할 각종 이미지, xml 등을 담아두는 곳
* AndroidManifest.xml
사용자가 앱을 실행하게 되면 AndroidManifest.xml에 있는 activity들을 찾게 된다.
화면의 개수만큼 activity가 존재하며
intent-filter는 안드로이드 OS가 각각의 구성을 구분하기 위한 이름이다.
안드로이드 OS가 AndroidManifest.xml에 있는 activity들 중에
어떤 activity를 먼저 실행해야 하는지를 알아야 하는데
action의 name 속성에 MAIN이라고 되어있는 activity를 찾아서 실행시켜 첫 화면을 나타내고
activity의 name 속성이 class의 이름이 된다.
* MainActivity
activity 객체가 생성이 되면 onCreate 메소드가 호출되고
onCreate메소드에서 res->layout->activity_main.xml을 지칭하여 setContentView 메소드를 호출한다.
* activity_main.xml
Code 탭을 눌러서 나타나는 xml코드를 분석해서 안드로이드 OS가 화면을 만들게 된다.
화면을 수정할때는 xml코드를 수정하면 된다.
Design 탭을 눌러서 palette의 속성들을 드래그 하여 수정할 수도 있다.
댓글