Какова роль R.java в приложениях для Android?

Приложения Android имеют автоматически сгенерированный файл с именем «R.java». Пожалуйста, объясните его назначение.

E.g.

  • Что в нем содержится?
  • Что его порождает?

Дубликат: Какая концепция лежит в основе R.java?


person pawarrohit14    schedule 28.07.2012    source источник
comment
Пришлось бы не согласиться с причиной закрытия, я тоже пришел с этим точным вопросом. Я считаю совершенно уместным задавать высокоуровневые вопросы о назначении элементов архитектуры приложения, особенно тех, которые генерируются автоматически. Если мы ограничим вопросы только конкретными деталями, мы упустим возможность предоставить вводную информацию новым пользователям. Кроме того, вопрос просматривался много раз и имеет принятый ответ, подтверждающий его цель.   -  person J Collins    schedule 24.01.2013
comment
Я согласен, что это достойный вопрос. Однако это дубликат: stackoverflow.com/questions/10004906/   -  person Nick    schedule 09.07.2013
comment
Тогда он должен быть закрыт как дубликат. Вместо этого он закрыт как не настоящий вопрос, что просто неправильно.   -  person BrainSlugs83    schedule 31.07.2013
comment
да, этот вопрос довольно широкий, но это правильный вопрос. Кроме того, это даже не дубликат. Эти два вопроса разные, из разных базовых знаний и точки зрения.   -  person starriet    schedule 22.10.2020


Ответы (3)


Каждое приложение использует такие ресурсы, как строки, рисунки, макеты и стили. Вместо жесткого кодирования таких ресурсов в приложении их можно экстернализовать и ссылаться на них по идентификатору. Файл R.java содержит все эти идентификаторы ресурсов, назначенные программистом или сгенерированные SDK.

person jeet    schedule 28.07.2012

В R.java у вас есть доступ ко всему, что у вас есть в ваших ресурсах:

  • Чертежи
  • Макеты
  • Струны
  • Массивы
  • ....так далее

Вы можете прочитать больше здесь.

person iTurki    schedule 28.07.2012

R.java автоматически генерируется при сборке. Его содержимое основано на файлах ресурсов (включая макеты и настройки).

Когда вы удаляете его, он создается заново, но если вы создадите свой собственный, у вас возникнут проблемы, так как система сборки не сможет его заменить.

person Chirag    schedule 28.07.2012