繁体   English   中英

为什么在android中命名资源时不能使用大写?

[英]Why is it not possible to use uppercase in naming resources in android?

我最近开始在android中开发应用程序,很多教程都说我们不应该在命名资源时使用大写。 这是为什么? 此外,不允许提供扩展名,例如.png和.xml。 如果我有两个文件button.png和button.xml,应用程序如何区分这两个文件?

  1. 不允许在资源中使用大写字母只是严格遵循某些约定

  2. 您不能在同一资源文件夹中使用同名的两种不同类型的资源。 例如,说你有drawable-hpdi中的两个资源文件。 它们是a.png和a.xml。 这里编译编译器时会显示错误。 但是如果你在drawable-mdpi中将a.png放在drawable-hdpi和a.xml中,那么它将不会显示任何错误,因为这两个资源将用于两种完全不同的设备类型。

我发现另一个有趣的事情是,如果你在同一文件夹中使用a.png和a.xml,那么错误将显示a.xml是重复的。 但是如果你在同一文件夹中使用a.jpg和a.png,那么它将显示a.png是重复的。 为此,我们可以猜测没有文件类型优先级。 编译器遵循自上而下的搜索。 因为a.png放在a.xml上,所以compliler会先找到a.png,然后当找到同名的xml文件时,它们会显示错误。 出于同样的原因,当使用a.jpg和a.png时,a.png会显示错误。

NB这个答案完全基于我的观察。 我没有找到任何关于此的书面文件。 因此,如果有人证明我的证据错误,那么将非常感激

由于资源文件的文件名部分将用于在生成的Java文件中创建资源ID
gen/<your-package-path>/R.java
您不能在同一目录中具有相同的资源文件名和不同的扩展名。

请参阅位图文件的资源引用中的recource文件名的使用

由于资源ID是Java变量,因此遵循Java建议的变量约定(请参阅Wikipedia的Java命名约定 )以低字母开头的名称是一种很好的做法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM