Android > resource - res(리소스) 관리
등록일 : 2017-07-05 11:32
조회수 : 68,413
소스코드 뿐만 아니라 다양한 리소스를 활용하여 프로그래밍할 수 있도록, 상당히 유연한 어플리케이션 구조 보유 합니다.
리소스를 이용하는 이유는 아래와 같습니다.
- 소스코드의 가독성을 높여 유지보수하기가 쉬움.
- 다양한 언어와 지역에 따라 리소스를 분리하여 관리함으로써 안드로이드 어플리케이션의 현지화(Localization)를 쉽게함.
- 모바일 기기의 특성에 따라 리소스를 분리하여 관리함으로써 다양한 모바일 기기의 특성에 따라 안드로이드 어플리케이션의 확장 및 적용을 쉽게 함.
1. 리소스 관리방법
- 안드로이드 어플리케이션에서 리소스는 /res 디렉토리 안에서 관리된다.
- 각 리소스 종류에 따라 /res 디렉토리 밑에 다양한 하위 디렉토리를 정의하여 관리된다.
2. 리소스 종류
안드로이드 어플리케이션이 관리하는 리소스들의 종류는 아래 표와 같습니다.
리소스 종류 |
설명 |
디렉토리 |
파일 이름 |
문자열
|
텍스트 문자열
|
/res/values
|
- strings.xml <권장>
- <string> 요소를 정의한 어떤 XML 파일도가능 |
문자열 배열 |
텍스트, 문자열들의 리스트 |
/res/values
|
- array.xml<권장>
- <string-array> 요소를 정의한 어떤 XML 파일도 가능 |
색상
|
16진수로 색상 값 정의
|
/res/values
|
- colors.xml<권장>
- <color> 요소를 정의한 어떤 XML 파일도 가능 |
크기
|
다양한 측정 단위의 크기
|
/res/values
|
- dimens.xml<권장>
- <dimen> 요소를 정의한 어떤 XML 파일도 가능 |
비트맵 그래픽
|
각종 이미지 및도형
|
/res/drawable
|
- png, jpg, gif 등 각종 이미지 파일, 도형을 정의한 XML 파일 |
트윈 애니메이션
|
트윈 애니메이션의 변환 방법을 정의
|
/res/anim
|
- <set> 루트 요소 밑에 <alpha>, <scale>, <translate>, <rotate> 등을
정의한 어떤 XML 파일도 가능 |
메뉴
|
메뉴 구성
|
/res/menu
|
- <menu> 루트 요소 밑에 <item>, <group> 등을 정의한 어떤 XML 파일도 가능 |
레이아웃 파일
|
각 화면 별 레이아웃 정의
|
/res/layout
|
- main.xml 이 일반적으로 첫 화면에 대한 레이아웃을 정의한 XML 파일이며,
각 화면 별로 레이아웃을 개별 XML로 정의 가능 |
스타일 및 테마
|
각 뷰나 위젯에 대한 속성 정보들을 정의 |
/res/values |
- styles.xml, themes.xml<권장>, <style> 요소를 정의한 어떤 XML 파일도 가능
|
XML 파일 |
개발자가 정의한 커스텀 XML |
/res/xml
|
- 개발자 임의로 정의하는 모든 XML 파일 |
원본 파일
|
각종 원본 파일
|
/res/raw
|
- mp3, mpg, txt, exe 등 각종 원본 파일
|