Организация Strings.xml
Я создаю приложение для Android и, так как я только что начал, я хочу попробовать получить наиболее организованный код/ресурсы. В моем файле strings.xml до сих пор это:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">GameController</string>
<string name="stop">Stop</string>
<string name="start">Start</string>
<string name="preferences">Preferences</string>
<string name="back">Back</string>
</resources>
Все строки, за исключением app_name, используются в меню опций. Но поскольку я буду добавлять гораздо больше строк, я думал, что лучше сделать что-то вроде этого:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">GameController</string>
<string name="menu_stop">Stop</string>
<string name="menu_start">Start</string>
<string name="menu_preferences">Preferences</string>
<string name="menu_back">Back</string>
</resources>
Это лучший способ или я должен использовать другую систему?
Ответы
Ответ 1
Это зависит от того, где будут использоваться строки. Если "стоп" никогда не будет использоваться нигде, кроме меню, вызов его "menu_stop" - хорошая идея. Если он будет использоваться повсюду, его следует просто называть "стоп".
Кроме того, комментарии XML очень полезны для организации ресурсов.
<resources>
<string name="app_name">GameController</string>
<!-- Menu Strings -->
<string name="menu_stop">Stop</string>
<string name="menu_start">Start</string>
<string name="menu_preferences">Preferences</string>
<string name="menu_back">Back</string>
</resources>
Наконец, если вы обнаружите, что у вас есть тонны и тонны строковых ресурсов, вы можете захотеть их разделить на разные xml файлы: menu_strings.xml, dialog_strings.xml и т.д.
menu_strings.xml
<resources>
<!-- Menu Strings -->
<string name="menu_stop">Stop</string>
<string name="menu_start">Start</string>
<string name="menu_preferences">Preferences</string>
<string name="menu_back">Back</string>
</resources>
dialog_strings.xml
<resources>
<string name="dialog_cancel_yes">Yes, cancel.</string>
<string name="dialog_cancel_no">No, do not cancel.</string>
</resources>
Ответ 2
Это действительно субъективный вопрос. Вы должны использовать все, что вам удобнее в обращении. Я, конечно, делаю второй тип именования, когда я использую макеты и чертежи (например, button_x, ninepatch_x, icon_x и т.д.), Просто потому, что он держит их рядом друг с другом и легче упрощается с помощью Content Assist. В XML вы можете использовать комментарии, чтобы группировать их вместе и добавлять пробелы, просто все, что облегчает вам поиск того, что вам нужно, и быстро.