Arturs Vancans Arturs Vancans - 8 months ago 30
Android Question

Why to use strings.xml in Android?

Could anyone please explain why having hard-coded strings is so bad?
What issues should I expect if I hardcode strings?
Why having a separate string xml file solves those issues?

Creating new elements in strings.xml is such a time consuming activity.


When adding your strings to strings.xml, you can easily translate your whole app into other languages.

So in the folder values you would have strings.xml with this content:

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

In values-fr a strings.xml with this content:

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

This saves you a lot of work instead of doing this the hardcoded way: Android automatically selects the correct language based on user preferences, and you don't have to worry about selecting and displaying this language.

Please also read Localization | Android Developers.