blog

Android開発早わかりチュートリアルXXII: リソースの使い方リソース

ボタンの表示内容を直接「パターン」として定義します。アプリケーションを複数のデバイスや言語に対応させたい場合、文字列定数を直接使用すると、アプリケーションを移植する際に多くの問題が発生します。したがっ...

Sep 18, 2016 · 2 min. read
シェア

先ほどの例では、例えばコードやLayoutで文字列定数を直接使うことで、重要な原則が見落とされています:

<Button android:text=”Pattern” 
android:id=”@+id/btnPattern” 
android:layout_width=”wrap_content” 
android:textColor=”@color/black” 
android:checked=”true” 
android:layout_height=”wrap_content”> 
</Button> 

Buttonの表示内容を直接 "Pattern "として定義します。アプリケーションを複数のデバイスや言語に対応させたい場合、文字列定数を直接使用すると、アプリケーションを移植する際に多くの問題が発生します。したがって、アプリケーションを設計する際の重要な原則は、UI関連のリソースはできるだけ外部リソースとして定義することです。

Androidは複数のリソースタイプをサポートしており、それぞれにデフォルトのリソースと複数のオプションのリソースを定義できます。

デフォルト・リソースは、デバイス構成や言語に依存しないように定義され、デバイス構成に対応するリソースが見つからない場合に使用されます。例えば、res/layoutでデフォルトのUIレイアウトを定義し、res/layout-landでlandscapeを定義すると、Androidは実行時にデバイス構成に基づいて適切なリソースを自動的に選択します。

以下の図は、2つの異なるコンフィギュレーションでオプショナル・リソースが定義されていない場合、デフォルトのリソース定義が使用されることを示しています:

以下のアプリケーション定義では、2つの異なるデバイス用に、デフォルトのリソースと、画面が横向きに表示される場合のリソースの2つを定義しています:

オプショナルリソースを定義する場合、Androidではオプショナルリソースの名前の付け方について一定のルールがあります

Read next

2013年最大の技術的失敗15選

多忙な2013年が終わろうとしている今、今年テック界で起こった大きな出来事、特に今年最大の技術的失敗を振り返ってみましょう。

Sep 15, 2016 · 5 min read