[Android/기초] R.java 파일 고치기 ( Resource 파일 고치기 )

android/구글관련/한글 2009. 1. 7. 21:39
일반적으로 프로그래밍에서 리소스라고 하면, OS나 VM의 자원을 나타내기도 하지만,
각종 이미지, 음악파일, 동영상파일, 문자열등도 리소스라고 부른다.

후자의 리소스 관리를 위해서 Android에서는 R.java라는 특이한 파일을 만들어 두어,
리소스들을 개발하는 프로그램에서 쉽게 읽어 와서 사용할 수 있도록 제공하고 있다.
R.java 파일을 대략 아래와 같이 생겨 먹었다.

R.java
/* AUTO-GENERATED FILE.  DO NOT MODIFY.
 *
 * This class was automatically generated by the
 * aapt tool from the resource data it found.  It
 * should not be modified by hand.
 */

package com.ggaman.android.sample;

public final class R {
    public static final class attr {
    }
    public static final class drawable {
        public static final int icon=0x7f020000;
        public static final int rock=0x7f020001;
        public static final int test=0x7f020002;
    }
    public static final class layout {
        public static final int main=0x7f030000;
    }
    public static final class string {
        public static final int app_name=0x7f040001;
        public static final int hello=0x7f040000;
    }
}
 
위와 같이 생겨 먹었으므로, 개발자는 R.drawable.icon 이라고 하면, 아이콘을 가지고와서 쓸 수 있다.

그렇다면 이 파일을 수정해 보도록 하자.
우선 R.java파일을 더블클릭해서 에디터를 띄운다. 응? 근데 왜 이래??


R.java파일은 왜 수정이 안될까?
이클립스에서 R.java파일을 더블클릭하면 자바 에디터가 뜬다. 하지만 이 에디터는 편집이 되지 않는다. 이 파일을 특별한 의미(리소스들의 정보를 관리)를 가지는 파일로써 함부로 수정할 수 없게 만들어 두었다. 위의 소스에도 잘 드러나 있지만, "AUTO-GENERATED FILE.  DO NOT MODIFY." 라고 명확하게 적혀 있다.


그렇다면 새로운 리소스를 추가 할때는 어떻게 하면 될까?
무진장 간단하다. 필요한 jpg 파일을 이클립스의 res 폴더 하위에 drawable 하위의 폴더로 끌어다 두면 된다.
탐색기에서 파일을 복사해서 넣어 두어도, refresh 한번 해 주면 알아서 R.java 파일이 업데이트 되는것을 볼 수 있다.

아래의 동영상을 보면 더 쉽게 이해할 수 있을것이다.
 
안보이면 옆의 링크 클릭 : http://www.screencast.com/t/CvmLqwFG

: