# 프로젝트란 ?
SW개발을 위해 필요한 소스코드, 리소스 및 데이터, 환경설정 파일 등을 통합적으로 관리하는 구조를 말한다.
보통 서버나 앱을 개발 할 때, 폴더를 하나 만들고 모든 코드와 파일을 넣어서 관리하는데 이 폴더를 프로젝트라고 볼 수 있다.
# 안드로이드 앱 프로젝트 구조
안드로이드 프로젝트는 소스코드(java/kotlin코드), 리소스(이미지 파일 등), 환경설정(manifest, Gradle Script)으로 구성된다.
앱 자체에 대한 내용은 app영역에 위치하며
1) 환경설정은 manifests 경로에, 2) 소스 코드는 java 경로에, 3) 이미지와 같은 리소스는 res 경로에서 관리된다.
빌드/버전 설정 및 라이브러리는 Gradle Scripts 영역에 위치하며
build.gradle 파일을 통해 관리 된다.
이를 그림으로 도식화하여 연결하면 다음과 같다.
* 참고: 실제 드라이브 상의 디렉터리/파일 경로와는 조금 다르다. Android Studio에서 개발에 필요한 파일만 정리하여 보여주는 것이다.
# 환경설정(manifests)
: 애플리케이션의 기본필수정보, 권한정보, Acitivity 정보 등을 관리한다.
: app > manifests > AndriodManifest.xml 파일을 말한다.
* 매니페스트에 대한 상세한 내용을 아래글 참고
[안드로이드] 매니페스트(Android Mainfests.xml) 개념과 구조
# 소스코드(java/kotlin)
: 앱의 동작을 구현하는 소스코드이다.
: app > java > 패키지 > *.java 혹은 *.kt 파일을 말한다.
* (androidTest), (test)가 뒤에 붙은 패키지들은 유닛 테스트 등을 위해 자동생성된 패키지이며, 실제 개발자가 구현하는 소스코드는 뒤에 아무것도 없는 패키지에 위치한 java/kotlin 파일이다.
# 리소스(res)
: 레이아웃, 이미지, 문자열 데이터 등의 정적 데이터/파일을 관리하는 영역이다.
- layout: 화면 UI 레이아웃 xml 파일
- minimap: 아이콘 이미지 파일
- drawable: 일반 이미지 파일
- values: 문자열, 컬러 등
# Gradle Scripts
: build.gradle 파일을 통해 프로젝트와 모듈별 설정 정보를 관리한다.
- 빌드 정보: android 항목을 통해 SDK/앱버전, 테스트, 빌드/컴파일 등을 관리
- 라이브러리: dependencies 항목을 통해 라이브러리 설치 관리
*settings.gradle 파일은 프로젝트에 추가된 모듈(app 등)들을 등록하여 관리한다.
Gradle Scripts 영역에 대한 자세한 내용은 아래 글 참고
[안드로이드] 그레이들 Gradle Scripts에 대한 정리
안드로이드 앱 프로젝트는 복잡해 보이지만,
사실상 아래의 3가지로 구성되어 있음을 알 수 있다.
1. 소스코드: java/kotlin
2. 리소스: 레이아웃/문자열(xml), 이미지(png) 등
3. 환경설정: manifest.xml, gradle Scripts(build.gradle)
'개발(Development) > Android(안드로이드)' 카테고리의 다른 글
[안드로이드] R.java / R.jar 개념 및 위치: 리소스 식별 변수 관리 원리 (0) | 2021.07.11 |
---|---|
[안드로이드] 매니페스트(AndroidMainfest.xml) 개념과 구조 (0) | 2021.07.11 |
[안드로이드] 그레이들 Gradle Scripts에 대한 정리 (0) | 2021.07.10 |
[안드로이드] 앱 프로젝트 템플릿 (액티비티 UI) 종류 (0) | 2021.07.10 |
[안드로이드] 앱 개발 프로젝트 생성 방법 (0) | 2021.07.10 |
댓글