-
Android Studio 구조Android 2022. 12. 28. 16:20반응형

1. Android 뷰
모듈 및 파일 형식별로 프로젝트 파일/폴더를 분류해서 프로젝트에서 수정하지 않는 파일/폴더를(플랫폼,JRE,외부 라이브러리 등) 제외하고 보여준다.
Android 뷰의 특징들
기본적으로 프로젝트 파일을 표시하는 곳이다.
모듈 및 파일 형식별로 구성된다.
자주 사용되지 않는 파일이나 디렉토리는 숨겨 프로젝트의 주요 소스파일을 간단하게 탐색 가능하게 한다.
디스크에 있는 실제 파일 계층을 반영하지 않는다.
Manifests
AndroidManifest.xml 파일을 포함하는 그룹
- 매니페스트 파일에는 안드로이드 시스템이 앱을 실행하기 위해 필요한 정보를 정의 ( 스프링의 메이븐 같은개념..? )
- 앱에 대한 고유 식별자 역할을 하는 패키지 이름, 액티비티, 서비스 등과 같은 앱의 구성요소, 시스템 기능을 사용하기 위해 필요한 퍼미션 선언, 앱에서 사용되는 테마 등 포함
Java
- JUnit 테스트 코드를 비롯한 자바 소스코드 파일을 포함하는 그룹
res
- 코드가 아닌 모든 리소스(ex: xml, 레이아웃, UI 문자열, 비트맵 이미지) 를 포함하는 그룹! 해당 모듈에서 사용되는 모든 리소스 파일들이 종류별로 저장된다.
* drawble : 앱에서 사용되는 이미지 파일과 관련된 파일들이 저장되는 그룹
* layout : 화면에 보여질 UI 컴포넌트들, 즉 레이아웃을 정의한 xml 파일들이 저장되는 그룹
* mipmap : 런처 아이콘에 사용되는 이미지 파일들이 디바이스 해상도별로 저장되는 그룹, 안드로이드 디바이스에서
해당 앱을 실행하기 전 터치할 떄 보이는 아이콘
* values : 앱에서 사용되는 리소스 관련 상수를 정의한 파일들이 저장되는 그룹이며 해당 상수들은 id로 참조
- colors.xml : 앱에서 사용되는 색의 값(16진수값) 정의
- strings.xml : 앱에서 사용되는 문자열을 정의
- styles.xml : 뷰나 윈도우의 모습을 위한 속성 지정
Gradle Scripts
- 빌드 시스템에서 앱을 컴파일 및 빌드시 사용되는 파일들이 위치하는 그룹
* build.gradle (Project: My_Application)
전체 프로젝트를 위한 파일, 모든 모듈에 적영되는 빌드 구성을 정의하는 파일이다.
* build.gradle (Module: My_Application.app / Module: My_Application.app2)
각 모듈에 대한 빌드 구성을 정의하는 파일이다
프로젝트에 포함되어 있는 app 모듈을 위한 파일로, 모듈별로 하나씩 존재한다.
2. Project 뷰
Android 뷰와 달리 실제 디렉토리 계층 구조를 반영하여 전체 프로젝트와 모듈별로 파일/폴더를 나누어서 보여준다.
따라서 Android 뷰에서 보여주지 않던 외부 라이브러리 같은 프로젝트의 파일/폴더까지 확인 가능하다.
★ kotlin과 java는 서로 상호 호환이 가능하다
★ java와 res를 구분한 이유는 리소스를 분리하여 소스 코드 자체의 가독성을 높여 유연한 유지보수가 가능하다
반응형