我最近开始在Android上开发应用程序,很多教程都说我们不应该在资源命名中使用大写字母。为什么?另外,不能使用扩展名如.png和.xml。如果我有两个文件button.png和button.xml,应用程序如何区分这两个文件?
我最近开始在Android上开发应用程序,很多教程都说我们不应该在资源命名中使用大写字母。为什么?另外,不能使用扩展名如.png和.xml。如果我有两个文件button.png和button.xml,应用程序如何区分这两个文件?
不允许在资源文件中使用大写字母只是为了严格遵循某些规定。
在同一资源文件夹中,不能同时使用相同名称的两种不同类型的资源。例如,假设您在drawable-hpdi中有两个资源文件。它们是a.png和a.xml。在编译时,编译器会显示错误。 但如果将a.png放置在drawable-hdpi中,a.xml放置在drawable-mdpi中,则不会显示任何错误,因为这两个资源将在完全不同的设备类型中使用。
我发现另一个有趣的事情是,如果在同一文件夹中使用a.png和a.xml,则错误将显示a.xml是重复的。但是,如果在同一文件夹中使用a.jpg和a.png,则会显示a.png是重复的。我们可以猜测没有文件类型优先级。编译器按自上而下的顺序搜索。由于a.png放置在a.xml之上,所以编译器会首先找到a.png,然后当他们找到同名的xml文件时会显示错误。出现a.jpg和a.png的情况也是同样的原因,a.png会显示错误。
注:此答案完全基于我的观察。我没有找到任何书面文档。因此,如果有人能提供证据证明我错了,那将不胜感激。