Хорошо иметь непротиворечивость в именах файлов.
MyActivity.java содержит общедоступный класс MyActivity
Я хотел бы, чтобы XML-файл с его расположением был назван res/layout/MyActivity.xml
Но я получаю сообщение об ошибке, говоря "Недопустимое имя файла: должен содержать только [a-z0-9_]".
Так два вопроса:
Почему набор символов так ограничен (даже верхний регистр?Ну же!) - А-ч - это ограничение, вероятно, на месте, таким образом, Вы никогда не будете завинчиваться файловыми системами, которые не делают различие между верхним регистром и нижним регистром, как HFS Apple + (хотя посмотрите Википедию для кровавой истории http://en.wikipedia.org/wiki/Comparison_of_file_systems#cite_note-note-35-77),
Какие имена файлов ограничиваются - все res? просто res/layout? res/layout плюс некоторые другие папки?
Кто-либо может подтвердить 1 и сообщить подробности относительно 2?
Спасибо,
Peter
Почему набор символов настолько ограничен
Поскольку имя должно быть допустимым идентификатором Java, вы можете использовать такие константы, как R.layout.foo
для идентификации макет во время выполнения.
Какие имена файлов ограничены - все из res? просто res / layout? res / layout плюс еще несколько папок?
Что-нибудь в res /
Не уверен в причине # 1
. Никогда не видел объяснений ни в одном чтении о ресурсах. Для # 2
по моему опыту все, что будет использоваться в качестве идентификатора в java, например, R.drawable.marker
, R.string.default_message
, должно следовать те правила [a-z0-9 _]
.