2014-04-30 2 views
1

Есть ли необходимость указывать строки в файле XML. Android всегда показывает предупреждение, когда строки напрямую записываются и не извлекаются из strings.xml. Есть ли какие-либо преимущества с помощью XMLПочему мы указываем строки в string.xml

+1

Главное преимущество использования файла string.xml заключается в том, что вы должны указывать свои строки один раз и использовать его в любом месте приложения. Если любые изменения, внесенные в эту строку, вам нужно изменить один раз. И одна имплантация - это локализация для записи строка на нескольких языках. –

+0

http://developer.android.com/guide/themes/resources/localization.html – Raghunandan

ответ

5

Важнейшее использование для обработки локализации.

Во время работы система Android использует соответствующий набор строковых ресурсов на основе локали, установленной в настоящее время для пользовательского устройства.

Например, следующие файлы строковых ресурсов для разных языков.

  • Английский (локаль по умолчанию), /values/strings.xml:
<string name="title">My Application</string> 
<string name="hello_world">Hello World!</string> 
  • испанский, /values-es/strings.xml:
<resources> 
    <string name="title">Mi Aplicación</string> 
    <string name="hello_world">Hola Mundo!</string> 
</resources> 
  • французский, /values-fr/strings.xml:
<resources> 
    <string name="title">Mon Application</string> 
    <string name="hello_world">Bonjour le monde !</string> 
</resources> 

В исходном коде, вы можете ссылаться на строки ресурса с синтаксисом R.string Существует множество методов, которые принимают строковый ресурс таким образом.

// Get a string resource from your app's Resources 
String hello = getResources().getString(R.string.hello_world); 

// Or supply a string resource to a method that requires a string 
TextView textView = new TextView(this); 
textView.setText(R.string.hello_world); 

От Supporting Different Languages


Localizing with Resources Читать сведения и Android Localization Tutorial очень хороший учебник о том же.

+0

У меня есть некоторые вопросы. Если у меня есть два файла string.xml один для французского и другой для английского. Использует ли приложение или систему Android соответствующий строковый файл. И при каких условиях? – Journey

4

Мы добавили строку в strings.xml, потому что мы можем легко перевести все наше приложение на другие языки.

Таким образом, в папке значений вы бы strings.xml с этим содержанием:

<string name="hello">Hello</string> 

В значениях-пт strings.xml с этим содержанием:

<string name="hello">Bonjour</string> 

Если вы хотите сделать ваше приложение поддерживает разные - 2 языка, чем вы должны следовать string.xml.

Смежные вопросы