Зачем использовать strings.xml в Android?
Может ли кто-нибудь объяснить, почему жестко закодированные строки настолько плохи?
Какие проблемы я должен ожидать, если я жестко задаю строки?
Почему отдельный XML файл строки решает эти проблемы?
Создание новых элементов в strings.xml - такая трудоемкая деятельность.
Ответы
Ответ 1
При добавлении строк в strings.xml
вы можете легко перевести все ваше приложение на другие языки.
Итак, в папке values
у вас будет strings.xml
с этим контентом:
<string name="hello">Hello</string>
В values-fr
a strings.xml
с этим контентом:
<string name="hello">Bonjour</string>
Это экономит вам много работы, а не делает это жестко: Android автоматически выбирает правильный язык на основе пользовательских настроек, и вам не нужно беспокоиться о выборе и отображении этого языка,
Также читайте Локализация | Разработчики Android.
Ответ 2
Плюс, предположим, что у вас есть строка, пусть это будет заголовок, например, повторяющийся в каждом действии вашего приложения. Теперь предположим, что через некоторое время вы решите изменить этот заголовок.
Используя strings.xml
, вам нужно будет изменить его в одном месте, в то время как жестко заданные значения должны быть изменены в каждом действии.
Ответ 3
Строка - это простой ресурс, на который ссылаются, используя значение, указанное в атрибуте name (а не имя файла XML). Таким образом, вы можете комбинировать строковые ресурсы с другими простыми ресурсами в одном XML файле под одним элементом <resources>
.