Android-異なるデバイスをサポート-異なる言語をサポート

7349 ワード

appの文字列を別のファイルに置くのは良い習慣です.Androidはandroidプロジェクトのリソースフォルダでこのことを簡単にしました.
Android SDK Toolsを使用してプロジェクトを作成すると、このツールはプロジェクトのルートディレクトリの下にres/フォルダを作成します.res/フォルダの下には、さまざまなタイプのリソースのワードフォルダがあります.res/values/stringなどのデフォルトのファイルがあります.xmlは、文字列を格納するために使用されます. 
ローカルフォルダと文字列ファイルの作成
より多くの言語をサポートするためにres/に他のvalues拡張フォルダを作成するのは、フォルダ名に横線と国のISOコードを付けることです.たとえばvalues-es/は、コードが「es」であるリソースフォルダです.Androidは、実行時に設定に従って適切なリソースをロードします.
サポートする言語が必要だと感じたら、リソースのサブフォルダと文字列ファイルを作成できます.例:
MyProject/
        res/
              values/
                     strings.xml
              values-es/
                     string.xml
              values-fr/
                     string.xml
文字列値を適切なファイルに追加
Androidは、実行時にローカルユーザーの設定に従って適切な文字列リソースを使用します.
たとえば、次は異なる言語に対応する異なる文字列です.
英語(デフォルト)/values/string.xml
1 <?xml version="1.0" encoding="utf-8"?>

2 <resources>

3     <string name="title">My Application</string>

4     <string name="hello_world">Hello World!</string>

5 </resources>

スペイン語、/values-es/strings.xml
1 <?xml version="1.0" encoding="utf-8"?>

2 <resources>

3     <string name="title">Mi Aplicación</string>

4     <string name="hello_world">Hola Mundo!</string>

5 </resources>

フランス語、/values-fr/strings.xml
1 <?xml version="1.0" encoding="utf-8"?>

2 <resources>

3     <string name="title">Mon Application</string>

4     <string name="hello_world">Bonjour le monde !</string>

5 </resources>

注意:ローカライズID(または任意の構成ID)を使用して、ローカライズされた画像を提供するなど、任意のタイプのリソースで使用できます.詳細については、Localizationを参照.
文字列リソースの使用
リソース名は、要素のname属性で定義されたソースコードまたは他のXMLファイルで文字列リソースを参照するために使用できます.
ソースコードでは、文R.string.は文字列リソースを参照します.文字列リソースを参照する方法はたくさんあります
例:
1 //  Get a string resource from your app's Resources

2 String hello = getResources().getString(R.string.hello_world);

3              

4 // Or supply a string resource to a method that requires a string

5 TextView textView = new TextView(this);

6 textView.setText(R.string.hello_world);

xmlファイルでは@string/で文字列プロパティを参照します.
例:
1 <TextView

2     android:layout_width="wrap_content"

3     android:layout_height="wrap_content"

4     android:text="@string/hello_world" />

 
下一篇:Android-異なるデバイスをサポート
上一篇:Android-支持不同的设备-支持不同的屏幕