소스코드 뿐만 아니라 다양한 리소스를 활용하여 프로그래밍할 수 있도록, 상당히 유연한 어플리케이션 구조 보유
소스코드 + 다양한 리소스
소스코드
리소스
문자열 Resource 정의 및 사용방법
문자열, 문자열 배열, 색상, 크기 같은 단순 리소스 정보들은 모두 /res/values
디렉토리 밑에 XML 파일로 정의 루트 요소 밑으로 각각의 리소스를 정의
/res/values
디렉토리 밑에 strings.xml을 통해 관리된다./res/values
디렉토리에 있어야 한다.문자열 이름
문자열 값
// 예제
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Hello Android</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello Android!</string>
</resources>
문자열 배열 Resource
문자열 배열 리소스는 /res/values/
디렉토리 밑에 arrays.xml을 통해 관리
이 때 반드시 arrays.xml일 필요는 없으며, 를 루트 요소로 정의한 어떤 XML 파일이어도 상관없으나 XML 리소스 파일은 반드시 /res/values 디렉토리에 있어야 한다.
문자열 리소스를 정의하기 위한 XML 요소는 이다.
문자열 배열 이름
문자열 배열의 각 문자열 값
// 예시
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="company">
<item>Samsung</item>
<item>Hyundai</item>
<item>LG</item>`
<item>SK</item>
<item>KIA</item>
</string-array>
</resources>
색상 Resource
색상 리소스는 /res/values
디렉토리 밑에 colors.xml을 통해 관리된다.
이 때 반드시 colors.xml일 필요는 없으며, 를 루트 요소로 정의한 어떤 XML 파일이어도 상관없으나 XML 리소스 파일은 반드시 /res/values 디렉토리에 있어야 한다.
색상 리소스를 정의하기 위한 XML 요소는 이다.
색상 이름
색상 값
요소의 내용으로 지정
비트 수 와 알파(투명도) 여부에 따라서 다음과 같이 네 가지 형태로 정의된다. (각각의 색상을 결정하는 인자 값은 16진수로 정의된다.)
#RGB ex> #F00, 12비트 빨강
#ARGB ex> #8F00, 12비트 투명도 50% 빨강
#RRGGBB ex> #FF0000, 24비트 빨강
#AARRGGBB ex> #80FF0000, 24비트 투명도 50% 빨강
// 예시
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="my_red_color">#FF2222</color>
</resources>
크기 resource
크기 리소스는 /res/values
디렉토리 밑에 dimens.xml 을 통해 관리된다.
이 때 반드시 dimens.xml일 필요는 없으며, 를 루트 요소로 정의한 어떤 XML 파일이어도 상관없으나 XML 리소스 파일은 반드시 /res/values/ 디렉토리에 있어야 한다.
크기 리소스를 정의하기 위한 XML 요소는 이다.
크기 이름
크기 값
// 예시
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="my_wide_size">20px</dimen>
</resources>
이미지 Resource
이미지 파일들은 /res/drawable
디렉토리 밑에서 관리된다.
이미지 파일을 해당 안드로이드 어플리케이션의 리소스에 등록하려면 단순히 /res/drawable
디렉토리에 추가하기만 하면 된다.
9-patch PNG
파일 Resource
XML 파일 Resource
개발자가 정의한 임의의 커스텀 XML 파일을 안드로이드 어플리케이션의 리소스로 포함시킬 수 있다.
이와 같은 XML 파일들은 /res/xml
디렉토리 밑에서 관리된다.
XML 파일을 해당 안드로이드 어플리케이션의 리소스에 등록하려면 단순히 /res/xml
디렉토리에 추가하기만 하면 된다.
기타 원본 파일 Resource
안드로이드 어플리케이션의 리소스 : mp3, txt 등 각종 원본 파일 /res/raw
디렉토리 밑에서 관리된다.
원본파일을 해당 안드로이드 어플리케이션의 리소스에 등록하려면 /res/raw/
디렉토리에 추가하기만 하면 된다.
기타 원본파일 리소스의 용도 : 안드로이드 어플리케이션의 사운드나 배경음악 등을 위한 오디오 파일들을 저장하는 리소스로 사용된다.