В android R.java используется для обеспечения доступа к ресурсам, определенным в файлах XML.
Чтобы получить доступ к ресурсу, нам нужно вызвать метод findViewById()
, передающий в идентификаторе ресурса, который нужно извлечь.
Это похоже на Spring, где beans определены в контексте XML и извлекаются с использованием контекста приложения. context.getBean("beanId")
Это обеспечивает свободную связь, поскольку beans определяются извне и могут быть изменены без внесения изменений в код.
Это меня смущает. Хотя какой вид Android похож на spring, какое преимущество он предлагает?
- Какой смысл иметь промежуточную R.java? Не могли бы мы просто получить ресурсы непосредственно из XML с помощью ресурса контекст читателя/приложения. например
findViewById("resourceId")
- Не существует свободной связи. Поскольку ссылки в R.java автоматически генерируются, как можно удалить ресурс и добавить новый?
- Каков шаблон дизайна (если он есть)?
- Было бы лучше, если бы ресурсы были введены с использованием IOC (например, Roboguice)? Почему тогда Google решила дать нам такую странный способ работы с ресурсами?
Простите мое невежество. Я разработчик Java-новичка, который слишком много пытается попробовать.:-) Благодарим за отзывы.