2012-08-03 11 views
21

ハードコーディングされた文字列を持つのがなぜ悪いのか説明してください。 文字列をハードコードする場合、どのような問題がありますか? なぜ別の文字列xmlファイルでこれらの問題を解決するのでしょうか?Androidでstrings.xmlを使用する理由

strings.xmlに新しい要素を作成することは、時間がかかる作業です。

+0

ローカリゼーションだけでなく、集中化も要因の1つです。 –

+3

[Android - Documentation](http://developer.android.com/guide/topics/resources/string-resource.html)は、あなたにもっと良い説明をします。 – user370305

答えて

31

文字列をstrings.xmlに追加すると、アプリ全体を他の言語に簡単に翻訳できます。

だから、フォルダvaluesに、あなたはこの内容でstrings.xmlを持っているでしょう:values-fr

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

このコンテンツとstrings.xml

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

これは、あなたの仕事のたくさんを節約できますハードコーディングされた方法ではなく、Androidは自動的にユーザーの好みに基づいて正しい言語を選択し、この言語の選択と表示について心配する必要はありません。

Localization | Android Developersもお読みください。

11

また、文字列があるとします。たとえば、タイトルをアプリケーションのすべてのアクティビティで繰り返すとします。今度はしばらくすると、そのタイトルを変更することにします。

strings.xmlを使用すると、1つの場所で変更する必要がありますが、すべてのアクティビティでハードコードされた値を変更する必要があります。

0

文字列は、name属性で指定された値(XMLファイルの名前ではありません)を使用して参照される単純なリソースです。したがって、1つのXMLファイル内の文字列リソースと他の単純なリソースを1つの<resources>要素の下に組み合わせることができます。