リソース (Resource)

リソースのディレクトリ構造

リソースファイルはプロジェクトのres/ディレクトリ以下の、定められた名前のディレクトリに配置する必要があります。この名前付け規則に違反した場合には「invalid resource directory name」エラーとなります。

種類 リソース名 格納されるファイル クラス ディレクトリ
Animation Tween animation トゥイーン アニメーション R.anim anim/
Frame animation フレーム アニメーション R.drawable drawable/
Color ColorStateList 色リスト R.color color/
Image Drawable 画像ファイル
  • Bitmap
  • Nine-Patch
  • Layer List
  • State List
  • Level List
  • Transition Drawable
  • Inset Drawable
  • Clip Drawable
  • Scale Drawable
  • Shape Drawable
R.drawable drawable/
Layout Layout UIのレイアウト ファイル R.layout layout/
Menu Menu アプリケーションのメニュー R.menu menu/
String String 文字列 R.string values/
String Array 文字列の配列 R.array
Quantity Strings 複数形の表現 R.plurals
Style Style UI要素のスタイル R.style values/
その他 Bool ブール値 R.bool values/
Color R.color
Dimension 寸法 R.dimen
ID ID R.id
Integer 整数 R.integer
Integer Array 整数の配列 R.array
Typed Array リソースの配列
    任意のファイル R.raw raw/
    任意のXMLファイル   xml/
Resource Types | Android Developers Providing Resources | Android Developers

代替リソース (Alternative Resources)

代替リソースのディレクトリは、次の定義規則に従う必要があります。

  • 複数の修飾語を設定するときはハイフン (-) で区切り、下表の順に記述する。
  • ディレクトリをネストしない。
  • 大文字/小文字は区別されない。
  • 同じ種類に属する設定を、同一のディレクトリに複数記述できない。
設定 修飾語 記述例 説明
MCC and MNC  
  • mcc310
  • mcc310-mnc004
  • mcc208-mnc00
The mobile country code (MCC), optionally followed by mobile network code (MNC) from the SIM card in the device.
Language and region  
  • en
  • fr
  • en-rUS
  • fr-rFR
  • fr-rCA
The language is defined by a two-letter ISO 639-1 language code, optionally followed by a two letter ISO 3166-1-alpha-2 region code (preceded by lowercase "r").
smallestWidth sw<N>dp
  • sw320dp
  • sw600dp
  • sw720dp
 
Available width w<N>dp
  • w720dp
  • w1024dp
 
Available height h<N>dp
  • h720dp
  • h1024dp
 
Screen size
  • small
  • normal
  • large
  • xlarge
   
Screen aspect
  • long
  • notlong
   
Screen orientation
  • port
  • land
   
Dock mode
  • car
  • desk
   
Night mode
  • night
  • notnight
   
Screen pixel density (dpi)
  • ldpi
  • mdpi
  • hdpi
  • xhdpi
  • nodpi
  • tvdpi
   
Touchscreen type
  • notouch
  • stylus
  • finger
   
Keyboard availability
  • keysexposed
  • keyshidden
  • keyssoft
   
Primary text input method
  • nokeys
  • qwerty
  • 12key
   
Navigation key availability
  • navexposed
  • navhidden
   
Primary non-touch navigation method
  • nonav
  • dpad
  • trackball
  • wheel
   
Platform Version (API level) v<N>
  • v3
  • v4
  • v7
 

リソースの作成

メニューの【File → New → Other】を選択します。そして[Android]の[Android XML File]を選択し、[Next]をクリックします。

ここでは次のようなリソースを作成できます。

  • Layout
  • Values
  • Menu
  • AppWidget Provider
  • Preference
  • Searchable
  • Animation

R.javaファイル

コンパイル時にはaapt (Android Asset Packaging Tool) により、R.javaファイルが自動で生成されます。このファイルには、リソースのIDが定義されます。Accessing Resources | Android Developers

外部から入手したプロジェクトには、このファイルがあらかじめ含まれていることがあります。その状態でEclipseにインポートすると、自動生成されたR.javaファイルと重複することになり「The type R is already defined」とエラーとなることがあります。そのような場合には、プロジェクトに含まれていたR.javaファイルを削除します。

Androidの情報サイトから、まとめて検索