R이란 무엇입니까 : R에
대해 매우 신비한 것은 없습니다. 정적 하위 클래스가 많고 이클립스에서 열어서 살펴 보는 클래스입니다 (gen / 아래에 있음).
이 클래스의 모든 멤버는 1) 정적 최종 클래스 또는 2) 해당 클래스의 다른 멤버와 관련하여 고유 한 정적 최종 정수 중 하나입니다.
왜 그렇게 비밀 스럽습니까?
R은 개미에 의해 자동으로 생성되기 때문에 혼동되기 쉽습니다. 수동으로 "접촉"해서는 안되기 때문에 그 비밀이 있습니다 (물론 할 수 있지만 변경 사항은 재생성시 자동으로 지워집니다). 때로는 eclipse가 Android 표준 R 파일을 자동으로 가져 오기 때문에 (위의 답변에서 논의한 바와 같이) 추가적으로 암호화되어 있습니다.
왜 항상 해결할 수없는 첫 번째 문제입니까? R은 Java 클래스 및 패키지의 규칙을 정확히 따르고, R이 가져 오기와 관련하여 작동하는 방식 에는 특별한 것이 없습니다 . R은 매니페스트 파일의 패키지 항목에 지정된 패키지에 자동으로 배치됩니다.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="package.which.will.contain.R.and.probably.the.main.package.in.the.application" android:versionName="8.6.2011" android:versionCode="1">
<uses-sdk android:minSdkVersion="13" />
R 파일이 속한 패키지를 보려면 eclipse (패키지보기)에서 gen / 폴더를여십시오. 여기에 하나의 패키지가 나열되고 매니페스트에 지정한 이름이 표시됩니다. 삭제를 시도하면 모든 리소스가 올바른 이름 지정 규칙을 따르고 모든 xml 파일이 올바른 xml 규칙을 따르고 Eclipse에서 빌드가 자동 으로 활성화되면 다시 나타납니다.
R 파일을 이해하는 데있어 핵심은 "main"패키지에 속한 다른 파일과는 다른 디렉토리에 있더라도 다른 클래스와 동일한 패키지에 있다는 것을 인식하는 것입니다. 이것을 이해하고 리소스 파일의 구문과 이름을 이해하면 R 문제를 해결하는 것은 쉽습니다.