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