본문 바로가기
X

앱 개발 방법 - 앱 리소스 (하위 리소스 디렉토리 유형)

by green post it 2022. 1. 4.
반응형

하위 리소스 디렉토리 유형

animator/

속성 애니메이션을 정의하는 XML 파일

anim/

tween 애니메이션을 정의하는 XML 파일

color/

색상의 상태 목록을 정의하는 XML 파일

drawable/

비트맵 파일 .png, .9.png, .jpg, .gif 또는 XML 파일

  • 비트맵 파일
  • 나인 패치(크기 조절 가능한 비트맵
  • 상태 목록
  • 셰이프
  • 드로어블 애니메이션
  • 기타 드로어블

mipmap/ 

각 픽셀 밀도에 따른 아이콘 드로어블 파일

layout/

사용자 인터페이스 레이아웃 정의 XML 파일

meum/

옵션 메뉴, 컨텍스트 메뉴 또는 하위 메뉴 등과 같은 앱 메뉴를 정의하는 XML 파일

raw/

임의의 파일( 음악 파일, TXT 파일, 동영상 파일 등)

임의의 파일을 열려면 리소스 ID(R.raw.filename)를 사용하여 Resources.openRawResource()를 호출합니다.

그러나 원본 파일 이름과 파일 계층에 액세스해야 하는 경우, res/raw/ 대신 assets/ 디렉토리에 일부 리소스를 저장해두는 것도 고려해볼 수 있습니다. assets/에 있는 파일에는 리소스 ID가 부여되지 않으므로, AssetManager를 사용해야 이 파일들을 읽을 수 있습니다.

values/

문자열, 정수 및 색과 같은 단순 값이 들어 있는 XML 파일

 

다른 res/ 하위 디렉토리에 있는 XML 리소스 파일은 XML 파일 이름을 근거로 하나의 리소스를 정의하는 반면 values/ 디렉토리에 있는 파일은 여러 개의 리소스를 설명합니다.

 

이 디렉토리 안에 있는 파일의 경우 요소의 각 하위 요소가 리소스를 하나씩 정의합니다.

이 디렉토리에 속하는 파일의 경우 요소의 각 하위요소가 하나의 리소스를 정의합니다.

 

예를 들어 요소는 R.string 리소스를 생성하고 요소 R.color 리소스를 생성합니다. 각 리소스가 자체 XML 요소로 정의되므로 원하는 대로 파일을 정의하고 하나의 파일에 여러가지 리소스 유형을 배정할 수 있습니다.

 

하지만 명확히 하려면 여러 가지 파일에 각기 고유한 리소스를 배치하는 것이 좋을 수도 있습니다. 예를 들어 다음은 이 디렉토리에서 생성할 수 있는 리소스를 위한 파일 이름 지정 규칙입니다.

1. 리소스 배열을 위한 arrays.xml(타입 지정 배열)

2. 색상 값을 위한 colors.xml

3. 치수 값을 위한 dimens.xml

4. 문자열 값을 위한 strings.xml

5. 스타일을 위한 styles.xml

xml/

런타임에 읽을 수 있는 임의의 XML 파일, Resources.getXML()을 호출하여 런타임에 읽을 수 있다.

font/

.ttf, .otf 또는 .ttc 확장자가 붙은 글꼴 파일이나 <font-family> 요소를 포함한 XML 파일

 

위 폴더들은 res/ 폴더 하위에 두어야 하며 각 유형별로 리소스를 배치해야 한다.(리소스 유형 그룹화) R 클래스에서 리소스 ID로 액세스 할 수 있다.

R.layout.activity_main

 

위에 정의된 하위 디렉토리에 저장하는 리소스는 "기본" 리소스입니다. 즉, 이 리소스는 앱의 기본 디자인과 콘텐츠를 정의합니다. 다만 여러 가지 유형의 Android 지원 기기마다 서로 다른 유형의 리소스를 필요로 할 수 있습니다.

 

예를 들어 기기의 화면이 일반적인 화면보다 큰 경우에는 이러한 추가적인 화면 공간을 유리하게 활용할 수 있는 다른 레이아웃 리소스를 제공해야 합니다.

 

또는 기기에 다른 언어 설정이 있을 경우 해당 텍스트를 사용자 인터페이스에 번역하는 다른 문자열 리소스를 제공해야 합니다. 기기 구성에 따라 다른 리소스를 제공하려면 기본 리소스 외에 대체 리소스를 제공해야 합니다.

 

구글 안드로이드의 리소스 파일을 res/ 디렉토리에 직접 저장하는 것이 아닌 하위 디렉토리에 저장해야 한다.
안드로이드에서 지원하는 하위 디렉토리는 여러가 있다.
예를 들어 레이아웃을 정의하는 레이아웃 폴더, 컬러 색상을 정의하는 컬러 폴더 등이 있다.

 

반응형