Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why to use strings.xml?

Tags:

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.

like image 601
Arturs Vancans Avatar asked Aug 03 '12 11:08

Arturs Vancans


People also ask

What is the purpose of strings xml?

A string resource provides text strings for your application with optional text styling and formatting. There are three types of resources that can provide your application with strings: String. XML resource that provides a single string.

Why do we need to use strings xml in Android?

xml , you can easily translate your whole app into other languages. 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.

Why are strings stored in xml?

xml because android uses that XML to enable translating your app into different languages, which it can't do with strings that are hardcoded. As you build your apps, remember not to hard code any string. Instead declare all of your strings as resources in a default strings.

What is the purpose of the Activity_main xml file in the project you created?

You use this xml-file to add new contents ( Views ) to your Activity . So the activity_main. xml determines how the Activity ( MainActivity in this case) should look. It determines its design.


1 Answers

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.

like image 177
nhaarman Avatar answered Oct 05 '22 19:10

nhaarman