Понять класс R в Android

В андроиде я не уверен, что вполне понимаю класс R Я просматриваю пример sudoku, и у меня есть этот фрагмент кода:

 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, но из того, что я собираю, похоже, что он принимает входные данные (сенсорный экран касается кнопки) и оценивает аргумент. Затем оператор case устанавливается, если об этой кнопке распознается, и создается новый экран интерфейса, а затем переводится на телефон.

Это правильно?

Если я правильно понял, почему сделка с классом «R»?

Почему он призван распознавать идентификатор кнопки?

Я думал, что суперкласс (в этом проекте) был классом SudokuActivity.

Solutions Collecting From Web of "Понять класс R в Android"

R.java – динамически созданный класс, созданный во время процесса сборки, для динамического определения всех активов (от строк до виджетах android до макетов) для использования в Java-классах в приложении Android. Обратите внимание на то, что R.java специфичен для Android (хотя вы можете дублировать его для других платформ, что очень удобно), поэтому он не имеет большого отношения к конструкциям языка Java. Взгляните сюда , для более подробной информации.

R – класс, содержащий ТОЛЬКО общедоступные константы. (Публичный статический финал).

Это сгенерированный класс (от Android Plugin в Eclipse), который отражает различные значения, определенные вами в файле res .

Например, у вас должно быть что-то вроде:

 android:id="@+id/about_button" 

Где-то в одном из файлов вашего макета / меню xml в проекте, и как только вы это написали, Eclipse будет генерировать константу в файле R (которую вы можете найти в gen/PACKAGE/R.java )

Прочтите руководство по ресурсам в Android Developers для получения дополнительной информации об этом.

R класс генерируется инструментами Android из ваших ресурсов перед компиляцией вашего кода. Он содержит назначенную числовую константу для каждого ресурса, который вы можете ссылаться в своем проекте. Например, у вас есть файл ресурсов XML, который содержит about_button . Если у вас не было класса R , вам нужно будет использовать строку «about_button», чтобы ссылаться на нее в коде. Если вы допустили ошибку в этой строке, вы узнаете об этом только при запуске приложения. С R вы увидите ошибку намного раньше во время компиляции.

R структурирован таким образом, что вы можете ссылаться на ресурсы через свои внутренние классы. Например, R.id содержит константы id и R.layout содержит константы компоновки.