📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다.
거의 대부분은 XML 파일 형식으로 리소스를 담고,
이미지 같은 파일은 바이트 데이터 그대로 리소스 파일로 추가된다.
🧩 R 클래스의 리소스 파일 추가 과정
리소스 파일을 추가하는 순간, R 클래스 안에 static final이 붙는 drawable 이라는 inner 클래스가 자동으로 생성된다. 그리고 리소스 파일을 구분하는 int형 변수가 리소스 파일명으로 추가되어 임의의 정수값을 갖는다. 우리는 이 변수명으로 리소스 파일을 사용할 수 있다.
R. drawable.파일명 R. layout.파일명 @drawable.파일명 @layout.파일명
폴더명 | 내용 |
---|---|
drawable | 이미지 |
layout | UI |
mipmap | 런처 아이콘 |
res 하위 폴더 안에 서브 폴더 생성 불가
리소스 파일명은 자바 명령 규칙 준수 + 알파벳 대문자 사용 불가
폴더명 | 내용 |
---|---|
anim | Tween animation XML, 정적 애니메이션 |
drawable | 이미지 리소스 |
mipmap | 앱 런처 아이콘 이미지 리소스 |
layout | 레이아웃 XML |
menu | 메뉴 구성 XML |
raw | 원시 형태로 이용되는 리소스 파일 |
values | 단순 값으로 이용되는 리소스 |
xml | 특정 폴더가 정의되지 않은 나머지 XML 파일 |
raw
바이트 데이터를 담기 위한 리소스 폴더
간단한 음원 파일 혹은 영상 파일 등을 담는다.
플랫폼에서 제공하는 리소스
폴더명으로 조건을 걸 수 있다.
자주 사용하는 조건도 있고 거의 사용하지 않는 조건도 있다.
모든 res 하위 폴더에 사용할 수 있다.
조건 | 속성 예제 |
---|---|
이동통신 국가 코드 | mcc310, mcc310-mnc004 |
언어 및 지역 | en, ko-rKR |
레이아웃 방향 | ldrtl, ldltr |
이용 가능한 너비 | w720dp |
이용 가능한 높이 | h720dp |
화면 크기 | small, normal, large, xlarge |
화면 비율 | long, notlong |
원형 화면 | round, notround |
화면 방향 | port, land |
UI 모드 | car, desk, television, application, watch, vrheadset |
야간 모드 | night, notnight |
화면 픽셀 밀도 | ldpi, mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi, nodpi, tvdpi, anydpi, nnndpi |
터치 스크린 유형 | notouch, finger |
키보드 가용성 | Keysexposed, keyshidden, keyssoft |
기본 텍스트 입력 방법 | nokeys, qwerty, 12key |
탐색키 가용성 | navexposed, navhidden |
기본 비터치 탐색 방법 | nanav, dpad, trackball, wheel |
플랫폼 버전 | v21 |
❗ 주의