在Android Developer网站上: https://developer.android.com/guide/topics/resources/providing-resources
资源是代码中的其他文件和静态内容 用途,例如位图,布局定义,用户界面字符串, 动画说明等。
您应该始终外部化应用程序资源,例如图像和字符串 从您的代码中,以便您可以独立维护它们
据我了解,我们应该在此处存储用于编码的静态内容,以便它们更易于编辑/存储/管理,对吗?他们还有什么目的?
我不能只拥有自己的单独的Java类并在那里定义所有变量,final等吗?这些资源真的必要吗?
我知道例如声音文件,图像等必须存储在某个位置,在Java类中,我们指的是它们的位置或告诉程序如何到达它们,但是整数或字符串之类的值呢? ?
如果没有在Resources文件夹中的.xml文件中而是直接在Java类中分配我的值,我会失去什么?声明它们,在.xml文件中编辑它们,在Java文件中再次引用它们等似乎很麻烦。
但是!我当然知道这样做是有充分理由的,我只是不明白为什么。
答案 0 :(得分:1)
他们还有什么目的?
我不能只拥有自己的单独的Java类并在那里定义所有变量,final等吗?这些资源真的必要吗?
我知道例如声音文件,图像等必须存储在某个位置,在Java类中,我们指的是它们的位置或告诉程序如何到达它们,但是整数或字符串之类的值呢? ?
如果没有在Resources文件夹中的.xml文件中而是直接在Java类中分配我的值,我会失去什么?声明它们,在.xml文件中编辑它们,在Java文件中再次引用它们等似乎很麻烦。
TL; DR 在大多数情况下,res文件夹可用于处理UI(用户看到的内容)。我(通常)只会将与UI项有关的整数和字符串存储在res文件夹中。
答案 1 :(得分:1)
Convention over configuration是一个简单的概念,主要用于编程。 这意味着您工作的环境 (系统,库,语言...)默认情况下采用多种逻辑情况, 因此,如果您适应它们而不是每次都创建自己的规则, 编程成为一项更轻松,更高效的任务...
一些好处:
消除了必须配置应用程序开发的所有领域的复杂性。
.. 快乐的编码。