Организация Strings.xml - PullRequest
       1

Организация Strings.xml

25 голосов
/ 04 января 2011

Я делаю приложение для 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>

Это лучший способ или я должен использовать другую систему?

Ответы [ 2 ]

26 голосов
/ 04 января 2011

Это зависит от того, где будут использоваться строки.Если «стоп» никогда не будет использоваться нигде, кроме как в меню, хорошей идеей будет назвать его «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>
1 голос
/ 04 января 2011

Это действительно субъективный вопрос, правда.Вы должны использовать все, что вам проще в обращении.Я, конечно, делаю второй тип именования, когда использую макеты и элементы рисования (например, button_x, ninepatch_x, icon_x и т. Д.), Просто потому, что они держат их рядом друг с другом, и их легче сузить с помощью Content Assist.В XML вы можете использовать комментарии, чтобы сгруппировать их и добавить пробелы, просто все, что облегчает вам поиск того, что вам нужно, и быстро.

...