티스토리 뷰

반응형

안드로이드 스튜디오를 설치하고 생성되는 폴더와 내부 파일의 기능에 대해 알아봅니다.

 

우선 안드로이스 스튜디오를 키면, 왼편에 Android 또는 Project로 디렉터리 구성을 선택할 수 있습니다. Android로 선택하면, 스튜디오에서 보기 좋게 정렬된 구조로 폴더가 표시됩니다. Project로 선택 시 실제 내 컴퓨터에 저장된 폴더 구조처럼 나열되는데, 이렇게 사용하면 더 복잡해질 수 있기에 Android로 놓고 프로젝트 작업을 진행하길 추천합니다.

01

 

그럼 Android로 설정하고, 디렉터리를 파악해 봅니다.

왼쪽 폴더에 보시면, manifest, java, java(generated), res, res(generated), Gradle Scripts로 구성되어 있습니다. app 폴더는 실제 프로젝트의 코드나 콘텐츠적인 부분의 리소스가 들어가는 곳입니다. 

Gradle Scripts 폴더는 우리가 자바나 코틀린으로 작성한 언어를 컴파일할 수 있도록 도와주는 역할을 하는 부분입니다.

반응형

app 폴더의 manifest는 앱의 전체적인 지도 역할을 합니다. java 폴더는 MainActivity 파일이 위치해 있는 곳이며, res 폴더는 resource의 약자로 앱의 각종 리소스(이미지, 아이콘 등) 들이 모여 있는 곳입니다. (generated)라고 붙여진 폴더는 안드로이드 스튜디오에서 프로젝트 생성 시 자동으로 형성되는 폴더들로 개발자 분들이 직접 다루는 일이 거의 없습니다.

 

그럼 manifest 폴더 부터 들여다 볼까요?

해당 폴더를 보면 AndroidManifest.xml 파일이 들어가 있습니다. 이 파일은 xml 문법을 따르고 있으며, 적혀진 코드 내용을 보면 다음과 같습니다.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapplication">

상단에는 XML 버전과 UTF-8인지 EUC-KR인지 등의 유니코드 인코딩 방법이 적혀 있습니다.

마치 웹 개발에서 HTML 버전과 UTF-8로 적혀있는 것과 비슷한 구조입니다.

 

다음 줄에는 xmlns:android 부분이 있는데 속성이 android 속성 임을 나타냅니다. 해당 속성을 정의함으로써 android 앱 구성에 필요한 여러 문법, 기능 등을 가져다 쓸 수 있습니다. package에는 프로젝트 생성 시 결정한 패키지명이 위치합니다.

 

Manifest 태그 안을 좀 더 자세히 살펴 봅시다.

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.MyApplication">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

먼저 application 태그는 앱의 내용을 기술하는 부분입니다.

 

해당 태그 안에는 여러 속성이 들어가 있는데, allowBackup을 true로 놓게 되면, 사용자가 앱을 지우고 다시 설치하는 경우, 모든 것을 다시 새로 시작할 필요 없이 정보를 백업해 두었다가 삭제되기전 어느 시점부터 다시 앱을 사용할 수 있도록 합니다.

 

icon 속성은 @로 경로를 표시하고, 핸드폰에 앱이 설치되면 화면에 표시하게 될 아이콘의 이미지입니다. label은 화면에 보이게 될 앱의 명칭입니다. roundIcon은 아이콘의 이미지가 둥글게 보이도록 합니다. rectangular 등의 다른 속성값으로 원하는 이미지로 보이도록 설정할 수 있습니다.

 

supportsRtl 부분은 속성 값으로 true를 넣어주면, 중동권처럼 텍스트를 오른쪽에서 왼쪽으로 읽는 국가에서 해당 앱을 설치할 경우, 자동으로 텍스트 구성이 오른쪽 -> 왼쪽으로 설정됩니다. 다국적으로 앱을 마켓팅하는 경우, 굉장히 편리하는 기능합니다.

 

theme는 앱의 전체적인 테마를 나타냅니다. @style로 시작하여 원하는 테마로 변경 가능합니다. 디폴트 값은 초록 배경에 흰색 글자입니다. 아래는 Theme.AppCompat(왼쪽) 및 Theme.AppCompat.Light(오른쪽) 로 테마를 적용한 경우입니다.

activity 태그를 살펴 봅니다. 액티비티는 화면 하나를 의미하는데, 현재 name 부분은 MainActivity가 적혀져 있습니다. intent-filter 태그에서 Launcher 부분이 정의되어 있는데, 즉 이 액티비티 태그는 앱을 키자마자 바로 나오는 화면을 정의하는 부분입니다. MainActivity가 아닌 다른 화면이 바로 나오길 원하면, 해당 파일 명을 적어주시면 됩니다.

 

다음에 이어서 자바 폴더를 알아 봅시다.

 

* Tip: Where is the system setting in Android Studio of Window 10?

 

-> You can go File - Settings or simply use shortcut key as Ctrl+Alt+S.

 

반응형
댓글