본문 바로가기

Android

리소스와 코드의 연결

728x90

안드로이드 스튜디오는 res 폴더 아래의 리소스들을 분석해 각 리소스마다 겹치지 않는 식별자를 부여하게 됩니다. 이 식별자는 R.java라고 하는 하나의 자바 파일에 모여 있으며, R.java 파일 안에는 R이라는 클래스가 정의되어 있고 해당 클래스 안에는 다시 각 리소스의 타입별로 내부 클래스를 작성해 정적 상수의 형태로 정의되게 됩니다.

즉 클래스 R -> attr , dimen , drawable , id , layout , menu , string을 정의하고 이 안에 정수 상수 형태로 리소스들에 ID를 부여하고 이들은 절대 겹치지 않도록 관리됩니다.

이러한 방법으로 "MainActivity"라는 이름의 클래스에서 R.layout.activity_main(레이아웃 리소스의 식별자)에 해당하는 ID를 "R.java" 자바 파일에서 찾아내어 "activity_main"이라는 이름의 레이아웃에 연결되게 해주는 것 입니다.

안드로이드에서는 레이아웃, 이미지, 문자열 등은 리소스로 취급되며, drawable 폴더에는 이미지와 같은 리로스가 저장되고, layout 폴더에는 레이아웃 리소스가 저장되고, values 폴더에는 문자열과 같은 리소스가 저장됩니다.