티스토리 뷰

학습 목표

  • 안드로이드 프로젝트가 어떤 폴더 구조로 구성되는지 이해하는 단계이다.
  • res, layout, drawable 폴더의 역할을 명확히 구분하는 단계이다.
  • XML 화면 파일이 실제 앱 화면으로 연결되는 흐름을 이해하는 단계이다.
  • 다음 회차에서 UI를 자유롭게 다루기 위한 기초 체력을 만드는 단계이다.

1. Android Studio 프로젝트 구조 전체 보기

Android Studio의 Project 창은 하나의 안드로이드 앱을 구성하는 모든 요소를 계층 구조로 보여준다. 이 구조는 단순한 파일 나열이 아니라, 안드로이드 운영체제가 앱을 인식하고 실행하기 위한 규칙적 구조이다. 

Android 뷰(Android View) 기준에서 가장 상위에 위치하는 구성 요소는 다음과 같다.

  • app
  • Gradle Scripts

이 중 실제 앱의 동작과 화면을 구성하는 모든 핵심 요소는 app 폴더에 포함된다.

반드시 알아야 할 최상위 구조

Android Studio의 Project 창 상단을 보면 보통 Android 뷰(Android) 로 설정되어 있다.
app 폴더 내부에는 안드로이드 앱을 구성하는 세 가지 핵심 영역이 존재한다.

  • manifests
  • java
  • res

이 세 영역은 각각 앱의 선언, 동작, 화면 및 리소스를 담당한다.


2. manifests 폴더와 AndroidManifest.xml

AndroidManifest.xml의 역할

AndroidManifest.xml은 앱의 메타 정보와 구조를 정의하는 핵심 파일이다. 안드로이드 시스템은 이 파일을 기준으로 앱을 인식하고 실행한다.

이 파일에는 다음과 같은 정보가 포함된다.

  • 앱의 고유 식별자(패키지 이름)
  • 앱에 포함된 Activity 목록
  • 앱의 시작 화면(Main Activity)
  • 앱에서 사용하는 권한(permission)

구조적 이해

  • 앱에 새로운 화면(Activity)을 추가하면 반드시 이 파일에 등록된다.
  • 시스템은 이 파일을 통해 앱의 전체 구성과 실행 흐름을 파악한다.

3. java 폴더와 Activity 파일

java 폴더의 역할

java 폴더에는 앱의 동작 로직을 담당하는 Kotlin 코드 파일이 위치한다.

MainActivity.kt의 의미

  • 앱 실행 시 가장 먼저 실행되는 화면(Activity)에 해당하는 코드 파일이다.
  • 화면 전환, 버튼 클릭 처리, 데이터 처리 등의 로직이 이 파일에서 정의된다.

즉, 이 영역은 사용자의 행동에 대한 앱의 반응을 구현하는 공간이다.

 


4. res 폴더의 개념과 중요성

 

res 폴더는 앱에서 사용하는 모든 시각적·비시각적 리소스(Resource)를 관리하는 공간이다.
안드로이드는 리소스를 코드에 직접 작성하지 않고, 이 폴더를 통해 참조하는 구조를 사용한다.


5. layout 폴더와 화면 구성

layout 폴더의 역할

  • 앱의 화면(UI)을 XML 파일로 정의하는 공간이다.
  • 일반적으로 화면 하나당 XML 파일 하나가 대응된다.

activity_main.xml

  • MainActivity와 연결된 레이아웃 파일이다.
  • 이 파일에 작성된 XML 구조가 실제 앱 화면으로 출력된

6. drawable 폴더의 역할

drawable 폴더란

  • 이미지 및 그래픽 리소스를 저장하는 공간이다.
  • PNG, JPG 같은 이미지 파일뿐만 아니라,
  • XML로 정의된 도형(shape) 리소스도 포함된다.

활용 예

  • 앱 아이콘
  • 버튼 배경
  • 이미지 뷰에 표시되는 사진

모든 시각적 요소는 drawable을 통해 관리된다.


7. values 폴더 개요

values 폴더의 기능

  • 문자열, 색상, 스타일 등 값 중심의 리소스를 관리하는 공간이다.

대표적인 파일 구성

  • strings.xml : 문자열 관리
  • colors.xml : 색상 관리
  • styles.xml : 테마와 스타일 관리

이 구조를 통해 앱 전반의 일관성을 유지할 수 있다.


8. 화면(XML)과 코드(Kotlin)의 연결 구조

setContentView(R.layout.activity_main)
//activity_main.xml 파일을 코드에서 참조하기 위한 공식적인 주소 체계이다.

이 코드는 해당 Activity에서 사용할 화면 레이아웃을 지정하는 선언문이다.

즉, activity_main.xml을 MainActivity의 화면으로 사용한다는 의미이다.


실전 예제

화면 리소스 수정 실습

  1. res → layout → activity_main.xml 파일을 연다.
  2. TextView의 text 속성을 다음 중 하나로 변경한다.
    • “프로젝트 구조 이해”
    • “레이아웃과 액티비티 연결”
  3. Run 버튼을 눌러 에뮬레이터에서 변경 결과를 확인한다.


핵심 정리

  • app 폴더는 하나의 안드로이드 앱 단위이다.
  • manifests는 앱의 선언 영역이다.
  • java는 동작 로직을 담당한다.
  • res는 화면과 리소스를 관리한다.
  • Activity와 XML 레이아웃은 1:1 구조로 연결된다.
728x90
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
반응형