Qual é o conceito por trás do R.java?

No android R.java é usado para fornecer acesso a recursos definidos em arquivos XML. Para acessar o recurso, precisamos invocarfindViewById() método passando o id do recurso a ser buscado.

Isso é semelhante ao Spring em que beans são definidos em um contexto XML e buscados usando o contexto do aplicativo.context.getBean("beanId")

Isso fornece um acoplamento flexível, pois os beans são definidos externamente e podem ser alterados sem modificações no código.

Isso me confundiu. Embora o Android pareça semelhante à primavera, que vantagem oferece?

Qual é o objetivo de ter um R.java intermediário? Não poderíamos apenas adquirir recursos diretamente do XML usando um contexto de leitor / aplicativo de recursos. por exemplo.findViewById("resourceId")Não há nenhum acoplamento solto. Já que as referências em R.java são geradas automaticamente, como excluir um recurso e colocar um novo?Que padrão de design ele segue (se houver)?Não seria melhor ter recursos injetados usando o COI (como o Roboguice)? Por que o Google decidiu nos dar uma maneira tão estranha de trabalhar com recursos?

Perdoe minha ignorância. Eu sou um novato desenvolvedor Java tentando muitas coisas ao mesmo tempo. :-) Obrigado por todos os comentários.

questionAnswers(4)

yourAnswerToTheQuestion