リソースの配置
使用するリソースはプロジェクト毎に用意します。ここではリソースの種類と配置する場所について確認します。
ではリソースの管理で色々なテストを行うためのプロジェクトを作成します。
| 名称 | 値 |
|---|---|
| プロジェクト名 | Resource |
| ターゲット名 | Google APIs APIレベル7 |
| アプリケーション名 | Sampleプログラム |
| パッケージ名 | jp.javadrive.resource |
| Create Activity | ResourceActivity |
| Min SDK Version | 7 |
次のように作成されました。
プロジェクトで使用するリソースはプロジェクトの「res」ディレクトリの中に設置していきます。「res」ディレクトリ以下にはさらに細かくディレクトリが分かれており、リソースの種類によって設置するディレクトリが決まっています。
ではパッケージ・エクスプローラーの中で先ほど作成したプロジェクトの中にある「res」ディレクトリをクリックして展開して下さい。次のようなディレクトリが表示されます。
「layout」「values」の他に同じような名前の「drawable-hdpi」や「drawable-mdpi」などのディレクトリが作成されていることが分かります。デフォルトで作成されていないディレクトリは、必要に応じて自分で作成して下さい。
リソースの種類
ではリソースの種類について確認します。詳細はAndroid Developersの「Resource Types」に記載がありますので別途確認して下さい。
| 種類 | ディレクトリ | 説明 |
|---|---|---|
| Animation | res/anim/ | Tween アニメーションを定義したXMLファイル。フレームアニメーションは「res/drawable/」ディレクトリ |
| Color | res/color/ | ビューの状態に応じカラーリストを定義したXMLファイル。単なる色の定義は「res/values/」ディレクトリ |
| Drawable | res/drawable/ | 画像ファイル(.pngなど)や形状などを定義したXMLファイル |
| Layout | res/layout/ | 画面レイアウトを定義したXMLファイル |
| Menu | res/menu/ | アプリケーションのメニューを定義したXMLファイル |
| String | res/values/ | 文字列、文字列の配列、文字列の複数形を定義したXMLファイル |
| Style | res/values/ | 画面に配置される部品のスタイルを定義したXMLファイル |
| その他 | res/values/ | BoolやColor、Integerなどの値を定義したXMLファイル |
アクティビティで使用する画面レイアウトを定義したXMLファイルは「res/layout」ディレクトリに配置します。また文字列や色などを定義したXMLファイルは「res/values」ディレクトリに配置します。
また例えば画像ファイルを配置するディレクトリは「res/drawable」ですが、デフォルトで作成されたディレクトリは「res/drawable-hdpi」「res/drawable-mdpi」「res/drawable-ldpi」に分かれています。これは端末の画面サイズや解像度によって使用される画像の種類を変更したい場合に使います。
例えば高解像度の端末で使用する画像と低解像度の端末で使用する画像を変更する場合には、同じ名前の画像ファイルで「res/drawable-hdpi」と「res/drawable-ldpi」にそれぞれ配置しておけば、端末の種類に合わせて自動的に使う画像を変更してくれます。(なお全てのディレクトリに別々の画像を用意しておく必要はありません。詳細は別のページで確認します)。
このように配置したリソースをプログラムの中や、他のリソースの中から参照して使用します。
( Written by T.buzz.Ikura+ )