Android

[기초] 리소스 설명 및 사용

Dean83 2022. 5. 19. 11:25

1. 리소스 설명

 

안드로이드 프로젝트에는 res 라는 폴더가 있고, 모든 리소스가 여기에 저장이 된다. 

res 폴더 바로 아래에 파일을 넣을 수는 없고, 폴더를 생성 후 넣을 수 있다. 

폴더는 미리 목적에 따라 명칭이 분류되어 있고, 일반적으론 res 마우스 우클릭 -> new 에서 만들게 되면 

자동으로 폴더까지 생성이 된다. 

 

localization을 위해서는, 폴더명에 접미사를 붙이거나 혹은 폴더는 같으나 정해진 파일명 뒤에 접미사가

붙는 등 여러 방법이 있다. 

 

 

 

2. 사용법

 

리소스 접근방법이 핵심이라고 할 수 있다. 각 UI에서 리소스를 사용할 수도 있고, 코드에서 사용 할 수도 있다. 

UI에서 사용하는 방법은, https://dean83.tistory.com/78 에 나와있다.

 

코드에서 사용법은 R. 을 통해 접근한다. 이 의미는 리소스 폴더에 있는 모든 항목을 표시하게 되고, 

다음 항목이 보통 폴더 명칭이 된다. 예를들어 레이아웃 파일에 접근하려면, R.layout 이런식으로 접근한다. 

(strings.xml은 특이하게도 R.values가 아니라 R.string 이다) 

 

두번째 항목까지 정해졌다면, 최종적으로 사용할 항목이 접미사가 된다. 예를들어 app_name 이라는 문자열을

최종적으로 접근하려 한다면, R.string.app_name이 되는것이고, main이라는 레이아웃에 접근하려면

R.layout.main 으로 접근을 한다. 

 

각 리소스별 폴더 명칭이나 규칙등은 공식문서에 잘 나와있다. 

https://developer.android.com/guide/topics/resources/providing-resources?hl=ko 

 

앱 리소스 개요  |  Android 개발자  |  Android Developers

앱 리소스 개요 리소스는 코드에서 사용하는 추가 파일과 정적인 콘텐츠입니다. 예를 들어 비트맵, 레이아웃 정의, 사용자 인터페이스 문자열, 애니메이션 지침 등이 있습니다. 이미지나 문자열

developer.android.com

 

3. 안드로이드 기본 리소스 사용

     - UI 등 기본 안드로이드 리소스가 있다. 이 항목들은 res에 있지 않다. 

     - android.R 을 이용하여 접근하여 사용할 수 있다. (예 : android.R.layout...)

 

4. Array 항목 등록 및 사용

    - Array항목 등록 : 예로 1,2,3,4 의 배열 생성

<string-array name="spin">
        <item>1</item>
        <item>2</item>
        <item>3</item>
        <item>4</item>
    </string-array>

    - 사용 : resources.getStringArray 또는 int array 등등...

var valueName = resources.getStringArray(R.array.이름)