En Android R.java se utiliza para proporcionar acceso a recursos definidos en archivos XML. Para acceder al recurso necesitamos invocar el método findViewById()
pasando el id del recurso que se va a buscar.¿Cuál es el concepto detrás de R.java?
Esto es similar a Spring, donde los beans se definen en un contexto XML y se obtienen utilizando el contexto de la aplicación. context.getBean("beanId")
Esto proporciona un acoplamiento flojo ya que los granos están definidos externamente y podrían cambiarse sin modificar el código.
Esto me tiene confundido. Aunque lo que hace Android parece similar a la primavera, ¿qué ventaja ofrece?
- ¿Cuál es el punto de tener un R.java intermedia de todos modos? ¿No podríamos simplemente adquirir recursos directamente de XML mediante el uso de un recurso contexto de lector/aplicación. p.ej.
findViewById("resourceId")
- No hay ningún acoplamiento flojo. Como las referencias en R.java se generan automáticamente, ¿cómo se puede eliminar un recurso y poner uno nuevo?
- ¿Qué patrón de diseño sigue (si hay uno)?
- ¿No sería mejor tener recursos inyectados usando IOC (como Roboguice)? ¿Por qué entonces Google decidió darnos tal una manera extraña de trabajar con recursos?
Pardon my ignorance. Soy un desarrollador Java novato que intenta demasiadas cosas a la vez. :-) Gracias por todos los comentarios.
Quiero subir mi pregunta dos veces, esta es una pregunta muy interesante – fatiDev