[Android]文字列の外部化 | 妄想プログラマのらくがき帳

2012年11月20日火曜日

[Android]文字列の外部化

アプリで使用する文字列をハードコーディングせずに外部リソース化すると、以下のような利点が得られます。
  • アプリ内の文字列を一元管理できる(変更が容易になる)
  • 複数の言語に対応できる(多言語化)
文字列を変更することはよくあることので、多言語対応の予定が無くても外部リソース化しといた方が後々便利です。

文字列をリソースファイルに追加する

Androidのプロジェクトを新規作成すると、すでに文字列リソースファイルがプロジェクトに含まれています。res/values/strings.xmlがそのファイルになります。



ファイルを開くと「リソース」タブの画面(上の画像の画面)が表示されます。
この画面でも文字列をリソースファイルに追加できるのですが、文字列を追加するだけなら直接xmlファイルをいじった方が簡単なので、今回はxmlファイルを編集することにします。

「string.xml」タブを選択すると、次の画面が表示されます。



<resource></resource>の間に<string name="[string_name]">[文字列]</string>を追加します。
[string_name]にはプログラム中から文字列を参照するときの名前、[文字列]には表示する文字列を指定します。
Hello android!
↑のような要素を追加すると、プログラム中で getString(R.string.display_message) とすることで、"Hello android!"が取得できるようになります。

0 件のコメント:

コメントを投稿