在android中,R.java用于提供对XML文件中定义的资源的访问.要访问资源,我们需要调用findViewById()传入要获取的资源的id的方法.
这与Spring类似,其中bean在XML上下文中定义,并通过使用应用程序上下文获取. context.getBean("beanId")
这提供了松散耦合,因为bean是在外部定义的,并且可以在不修改代码的情况下进行更改.
这让我很困惑.虽然Android看起来与spring相似,但它有什么优势?
- 有一个中间的R.java有什么意义呢?我们难道不能通过使用资源读取器/应用程序上下文直接从XML获取资源.例如
findViewById("resourceId")- 没有任何松耦合.由于R.java中的引用会自动生成,因此如何删除资源并放入新资源?
- 它遵循什么样的设计模式(如果有的话)?
- 使用IOC(如Roboguice)注入资源不是更好吗?为什么然后谷歌决定给我们这样一种奇怪的资源合作方式?
请原谅我的无知.我是一个新手Java开发人员,一次尝试太多东西.:-)感谢您的所有反馈.