リソースとアセット

キーとなるクラス

  1. Resources
  2. AssetManager

リソースは、Androidアプリケーションに埋め込まれるものです。 一般に、アプリケーション内に埋め込んで参照する事の出来る外部要素(画像、音声、ビデオ、テキスト文字列、レイアウト、テーマなど)を指します。全てのAndroidアプリケーションはリソース用のディレクトリ(res/)とアセット用のディレクトリ(assets/)を持ちます。アセットは、リソースほど利用する機会は多くないはずです。バイト列を直接読み取る必要がある場合のみ、アセットを利用します。リソースとアセットの各ディレクトリはソースコードディレクトリ(src/)と同じく、Androidプロジェクトツリーの最上位に配置されます。

"リソース"と"アセット"は、表面的には違わないように見えますが一般にリソースのほうが利用機会の多いものとなります。リソースディレクトリに配置したものはAndroidによりコンパイルされるRクラスを用いることでアプリケーション内から簡単に利用することが出来ます。しかし、アセットディレクトリに保管されたものはAssetManagerを用いてバイト列のまま読み込むことになります。このため、リソース(res/ディレクトリ内)のほうが扱い易いものとなります。

このトピックに関するドキュメントでは通常Androidアプリケーション内で使われる標準的なリソースの種類とその使い方を学ぶことが出来ます。まずはResources and Internationalizationを読まれることをお勧めします。このドキュメントでAndroidがプロジェクト内のリソースをどのようにして利用するかを把握することが出来ます。一方、数々のリソースタイプ毎の概要とそれらの詳細なリファレンスについてはAvailable Resource Typesを参照して下さい。