【发布时间】:2012-04-17 19:03:48
【问题描述】:
在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 开发人员,一次尝试了太多事情。 :-) 感谢所有反馈。
【问题讨论】:
-
我只想把你的问题加两遍,这是一个非常有趣的问题
标签: android architecture android-resources r.java-file