Programing

Android의 R 클래스 이해

lottogame 2020. 11. 20. 08:25
반응형

Android의 R 클래스 이해


이 질문에 이미 답변이 있습니다.

안드로이드에서는 R수업을 잘 이해하고 있는지 잘 모르겠습니다 . 스도쿠 예제를 살펴보면 다음 코드 스 니펫이 있습니다.

switch (v.getId()) // the id of the argument passed is evaluated by switch statement
{
    case R.id.about_button: // 
    Intent i = new Intent(this, about.class);
    startActivity(i);
    break;
    // More buttons go here (if any) ...
}

저는 Java를 처음 접했지만 제가 수집 한 내용은 입력 (버튼에 터치 스크린이 터치 됨)을 받고 인수를 평가하는 것처럼 보입니다. 그런 다음 about 버튼이 인식되면 case 문이 설정되고 새 인터페이스 화면이 생성 된 다음 전화기에서 탐색됩니다.

이게 옳은 거니?

내가 그 요점을 맞았다면 왜 "R"클래스와 거래하는 것입니까?

버튼의 ID를 인식하기 위해 호출되는 이유는 무엇입니까?

이 프로젝트에서 슈퍼 클래스는 SudokuActivity 클래스라고 생각했습니다.


R.javaAndroid 앱의 Java 클래스에서 사용하기 위해 모든 자산 (문자열, Android 위젯, 레이아웃)을 동적으로 식별하기 위해 빌드 프로세스 중에 생성되는 동적으로 생성 된 클래스입니다. 이것은 R.javaAndroid 전용이므로 (다른 플랫폼에 대해 복제 할 수는 있지만 매우 편리합니다) Java 언어 구성과 관련이 많지 않습니다. 자세한 내용 여기 를 참조하십시오.


R공용 상수 만 포함하는 클래스입니다. (공개 정적 결승).

res파일에 정의한 다양한 값을 반영하는 생성 된 클래스 (Eclipse의 Android 플러그인에 의해)입니다 .

예를 들어 다음과 같은 것이 있어야합니다.

android:id="@+id/about_button"

프로젝트의 레이아웃 / 메뉴 xml 파일 중 하나의 어딘가에 작성하면 Eclipse는 R 파일에 상수를 생성합니다 (에서 찾을 수 있음 gen/PACKAGE/R.java).

이에 대한 자세한 내용은 Android 개발자리소스 가이드 를 참조하세요.


R클래스는 코드를 컴파일하기 전에 리소스에서 Android 도구에 의해 생성됩니다. 여기에는 프로젝트에서 참조 할 수있는 각 리소스에 대해 할당 된 숫자 상수가 포함됩니다. 예를 들어, about_button. 당신이하지 않은 경우 R클래스를, 당신은 코드에서 참조하는 "about_button"문자열을 사용해야합니다. 이 문자열에 실수를하면 응용 프로그램을 실행할 때만 알게됩니다. 함께 R하면 컴파일시 훨씬 이전 오류를 볼 수 있습니다.

R내부 클래스를 통해 리소스를 참조 할 수있는 방식으로 구성됩니다. 예를 들어, R.idid 상수를 R.layout포함하고 레이아웃 상수를 포함합니다.

참고 URL : https://stackoverflow.com/questions/6804053/understand-the-r-class-in-android

반응형