2014-04-30 51 views
1

是否真的需要在XML文件中指定字符串。直接寫入字符串時,Android始終顯示警告,而不是從strings.xml中提取字符串。使用XML有什麼優勢嗎?爲什麼我們在string.xml中指定字符串

+1

使用string.xml文件的主要優點是,你必須一次指定的字符串,並在任何地方使用它throught的app.If中,你必須改變once.And一個小鬼件事特定字符串進行的任何變化是本地化寫多語言字符串。 –

+0

http://developer.android。com/guide/topics/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> 

在值-FR一strings.xml中與此內容:

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

如果你想你的應用程序支持不同的-2語言,你必須遵循string.xml。

相關問題