├─manifests
│ └─AndroidManifest.xml # 앱에 관한 필수 정보
│
├─java
│ └─com.example.android_practice
│ ├─ MainActivity.xml # 앱 실행 파일
│ ├─ ExampleInstrumentedTest.xml # 테스트 코드 작성 파일
│ └─ ExampleUnitTest.xml # 유닛 테스트코드 작성 파일
└─res
├─drawable # 앱에서 사용하는 이미지 저장
│
├─layout # 화면의 레이아웃 설정
│
├─mipmap # 앱 아이콘 저장 폴더
│
└─values # 자주 사용하는 변수 설정
│
├─ color.xml : 색 설정
├─ string.xml : 문자 설정
│
└─ themes # 앱 테마 설정
1. Manifests
├─manifests
│ └─AndroidManifest.xml
Android 빌드 도구, Anroid 운영 체제 및 앱에 관한 필수 정보 설명
AnroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> XML 문서 선언
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android_practice"> 프로젝트 앱 패키지명
앱의 구성요소를 등록하기 위한태그
<application
android:allowBackup="true"
애플리케이션이 백업 및 복원 인프라에 참여 하도록 허용할지 여부
android:icon="@mipmap/ic_launcher"
앱의 아이콘 설정
android:label="@string/app_name"
앱의 라벨 설정 설정
android:roundIcon="@mipmap/ic_launcher_round"
앱의 아이콘 원형 아이콘 설정
android:supportsRtl="true"
앱이 RTL(right-to-left)를 지원해 주는 여부를 선언한다.
android:theme="@style/Theme.Android_practice">
앱의 기본 테마를 정의한다.
애플리케이션의 시각적 사용자 인터페이스 요소를 구현하는
액티비티(Activity 하위 클래스)를 선언합니다.
<activity
android:name=".MainActivity"
앱이 시작될 때 가장 먼저 실행되는 클래스
android:exported="true">
시스템이 액티비티를 인스턴스화할 수 있는지 여부를 나타냅니다.
활동, 서비스, broadcast receiver가 응답할 수 있는 인텐트의 유형을 지정합니다.
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
출처: https://taegyuhan.github.io/android/folder_structure/
앱에 대한 전반적인 정보를 담고 있는 파일. 앱의 구성요소나 권한 등을 정의
2. java
├─java
│ └─com.example.android_practice
│ ├─ MainActivity.xml # 앱 실행 파일
│ ├─ ExampleInstrumentedTest.xml # 테스트 코드 작성 파일
│ └─ ExampleUnitTest.xml # 유닛 테스트코드 작성 파일
MainActivity.java: 스마트폰 화면을 구성하는 액티비티를 정의하는 파일로 앱 실행 시 처음으로 실행되는 코드를 정의
activity_main.xml: MainActivity.java에 대한 레이아웃을 정의하는 XML 파일
string.xml: 앱이 동작하면서 참조하는 문자열들이 정의된 파일
R.java: 앱이 동작하면서 참조하는 자원(문자열, 이미지, 소리, ...)들의 ID가 정의된 파일
3. res
└─res
├─drawable # 앱에서 사용하는 이미지 저장
│
├─layout # 화면의 레이아웃 설정
│
├─mipmap # 앱 아이콘 저장 폴더
│
└─values # 자주 사용하는 변수 설정
│
├─ color.xml : 색 설정
├─ string.xml : 문자 설정
│
└─ themes # 앱 테마 설정
각종 리소스(자원) 앱에 사용되는 이미지, 자료 등을 저장하는 폴더
res/drawable: 화면에 표시되는 이미지 파일이 저장되는 폴더
res/layout: 액티비티의 화면을 구성하는 레이아웃 리소스가 정의된 파일을 저장하는 폴더
res/values: XML 형태로 정의된 다양한 리소스 파일이 저장되는 폴더