1. 안드로이드의 4대 구성요소
하나의 어플리케이션 내에는 여러가지 실행단위
번들 형태로 묶어져 있는 이것을 안드로이드 어플리케이션이라고 합니다.
각각의 실행요소들이 각각 실행되어 동작.
Activity : 눈에 보이는 화면을 관리하는 실행 단위
[상세설명]
화면이 여러개 => Activity 가 여러개 라는 뜻!
어플이 실행되면 해당하는 Activity 가 실행이 되면서 화면이 나타나게 된다.
Ex 두번째 화면을 보여주기 위해 => 그 화면을 관리하는 Activity 를 실행시키고 기존 Activity 는 중단한다.
Service : 화면을 가지지 않는 실행 단위. 백그라운드 프로세싱
Broadcast Receiver : OS 가 메세지를 받으면 실행되는 실행단위
[상세설명]
전화, 문자, 배터리 등 시스템 상에서 어떤 일이 발생했을때 감지
Content Provider : 저장된 데이터를 제공하기 위해 실행되는 실행단위
[상세설명]
특정 어플의 데이터를 다른 어플리케이션에서 가져다 쓸 수 있기 실행하는 실행단위
- 안드로이드 애플리케이션은 4대 구성요소들을 통합 관리하는 번들 개념이다.
2. 프로젝트 구조
1. app > manifests > AndroidMainFest.xml
- 안드로이드 어플리케이션에 관련된 설정 파일
- 즉, 안드로이드 어플리케이션에 단말기에 설치가 되면 안드로이드 OS 는 이 내용을 가져와 어플에 대한 정보를 파악하게 된다.
- 개발자가 안드로이드 OS 에게 알려주고자 하는 내용을 기록. 중요한 내용이 많이 들어간다.
2. app > java
- 개발자가 작성하는 소스 코드
3. app > res
- 이미지, 사운드, 데이터 등 애플리케이션에서 필요한 리소스
참고: (generated) 표시?
안드로이드 스튜디오가 자기필요에 의해 자동으로 생성한 부분으로 개발자가 신경써야할 부분이 아닙니다!
4. Gradle Scripts
- 외부 라이브러리를 가져오거나, 컴파일 관리 등에 대한 정보가 담겨져 있다.
build.gradle => 각 단말기 종류마다 라이브러리, 컴파일 관련정보를 담을 수 있다. (Ex 모바일용, 워치용 등)
[상세설명] bundle.gradle 옆에 괄호 의미
project => 전체 프로젝트 관련
Module : ~.app 모바일 관련
3. 어플리케이션 설치
- 제작된 애플리케이션은 apk 라는 파일로 압축되어 마켓에 등록된다.
- apk 파일을 단말기에 다운로드하게 되면 자동으로 설치가 이루어진다.
- 안드로이드 os는 설치가 완료되면 AndroidManifest.xml 파일의 내용을 분석하게 된다.
=> android:icon, android:roundIcon : 아이콘
=> android:label : 아이콘 아래에 나타나는 글자
=> android:theme : 전체적인 테마
- 여기에서 안드로이드 4대 구성요소 중 어떤것들이 있는지 파악하여 이를 정리하게 된다.
- 안드로이드 애플리케이션이 실행되면 안드로이드 OS는 첫 번째 화면을 사용자에게 보여주려고 한다.
- 이 때 AndroidManifest.xml 에 있는 여러 구성 요소 중 activity 를 찾는다.
- 이 activity 중에 다음과 같이 작성되어 있는 것을 첫 화면을 관리하는 요소로 판단하고 이를 실행시켜준다.
Activity 는 화면마다 있다.
수많은 Activity 중 아래코드가 있으면 메인페이지로 판단하여 최초실행됩니다.
android.name => 안드로이드가 알고 있는 이름을 적었을 땐 상황에 맞는 화면이 자동 실행됩니다.
- activity 의 name 속서의 클래스의 객체를 생성한 후 onCreate 메서드를 호출한다.
android.intent.action.Main => 이걸 가지고 있는 Activity 를 찾아 얘가 가진 클래스 이름(activity.name)을 찾아 onCreate 를 자동으로 호출한다.
- 이 때 setContentView 메서드에 관리할 화면을 지정하는데 res 폴더의 layout에 있는 xml 파일을 지정하게 된다.
setContentView : 엑티비티가 관리할 화면을 지정
파라미터의 . 기준으로 의미
첫번째란 : R => res 를 의미
두번째란 : layout 폴더명
세번째란 : xml 파일명 순서
** 즉 실제로 개발자가 만드는소스는 setContentView 아래에서부터 작성하면 된다. **
'IT > 안드로이드' 카테고리의 다른 글
[7] 안드로이드 View Binding (5) | 2023.07.14 |
---|---|
[6] 안드로이드 View Layout Widget (12) | 2023.07.12 |
[4] 안드로이드 개발 시 단말기 테스트 단말기 연결 안될 때 (10) | 2023.07.06 |
[3] 안드로이드 스튜디오 에뮬레이터 AVD 생성 및 테스트 하기 (18) | 2023.06.30 |
[2] 안드로이드 프로젝트 생성 (12) | 2023.06.29 |