Android: понять идентификатор ресурса в R.java

Кто-нибудь знает что-нибудь о внутренностях resource-id и R.java, или может хотя бы сослаться на меня, чтобы прочитать об этом больше?

В чем смысл идентификаторов ресурсов? Это какие-то адреса в apk? Где они сохранены в скомпилированном apk?

Я попытался найти некоторую информацию об этом, но большинство вещей, которые я получаю, это проблемы с импортом, и что он делает, и в целом.

Почему я задаю эти вопросы: я недавно пытался динамически загрузить apk, который использует ресурс здесь, и, глядя на это, я считаю, что это даже невозможно. Я хотел понять почему.

2 ответа

Насколько мне известно

  • Android назначает идентификатор для каждого ресурса.

  • Папка gen в проекте содержит файл ссылок R.java, который содержит эти сгенерированные значения. Эти ссылки являются статическими целочисленными значениями.

  • Если вы добавляете новый файл ресурсов, соответствующая ссылка автоматически создается в файле R.java.

  • Ручные изменения в файле R.java не нужны и будут перезаписаны инструментарием.

    Система Android предоставляет методы для доступа к соответствующим файлам ресурсов через эти идентификаторы.

Например, чтобы получить доступ к строке с идентификатором R.string.yourString в исходном коде, вы должны использовать следующий метод, определенный в классе Context.

getString(R.string.yourString) 

Я надеюсь, что это немного помогает

Проверьте документацию http://developer.android.com/guide/topics/resources/accessing-resources.html

Также Оформить заказ Понять класс R в Android

Другие вопросы по тегам