概要
状態:作業中
閲覧数:1,815
投稿日:2013-05-27
更新日:2014-01-10
・リソースを定義すると、Rクラスにリソースを参照するためのIDが自動生成される
リソース名とは?
・リソースを参照する際などに利用する名前。R.javaファイルで管理されている
リソースを参照する方法は2種類
1.「XMLファイル」にてリソースIDを指定し、参照
2.「JAVAプログラム」にてリソースIDを指定し、参照
リソースを参照する方法
・大きく二通りある
リソース名とは?
・リソースを参照する際などに利用する名前。R.javaファイルで管理されている
リソースを参照する方法は2種類
1.「XMLファイル」にてリソースIDを指定し、参照
2.「JAVAプログラム」にてリソースIDを指定し、参照
リソースを参照する方法
・大きく二通りある
… | 種類 | 参照方法 | 具体例 | 対象ファイル | 内容 |
---|---|---|---|---|---|
1 | … | R.リソース種類.リソース名 |
R.layout.main | /res/layout/main.xml | … |
2 | … | @リソース種類/リソース名 | @string/hello | /res/values/strings.xml | <string name="hello">Hello World, SetContentView1Activity!</string> |
リソースID
リソースIDとは?
・プロジェクトに設置したリソースをプログラムの中から利用するため、各リソースに割り当てられた番号( int型の値 )
・リソースIDの割り当てはリソースの種類(例:drawable、layout、stringなど)によって異なる。(例:ic_launcher=0x7f020000、main=0x7f030000)
・リソースIDは「R.java」ファイルで管理されている
デフォルトで割り当てられるリソースID
・drawableクラスは「0x7f02」番台。stringクラスは「0x7f04」番台というように、予め決められている
・コード例は、デフォルトで作成された「R.java」ファイルより引用
/* AUTO-GENERATED FILE. DO NOT MODIFY.
*
* This class was automatically generated by the
* aapt tool from the resource data it found. It
* should not be modified by hand.
*/
package e1blue.androidstyle.hello;
public final class R {
public static final class attr {
}
public static final class drawable {
public static final int ic_launcher=0x7f020000;
}
public static final class layout {
public static final int main=0x7f030000;
}
public static final class string {
public static final int app_name=0x7f040001;
public static final int hello=0x7f040000;
}
}
「R.java」ファイル
・「R.java」ファイルは初めてプロジェクトをビルドした際に作成され、その後ビルドが行われるたびに自動的に更新されていく
・そのため、ユーザーは、リソースに対するIDの管理などを行う必要はない(リソースの追加だけを行っておけばok)
R.javaファイルで管理されているリソース実体は、種類に応じて/res/以下で定義
R.javaファイルでリソースID管理されているリソース実体は、リソース種類に応じて/res/以下で定義されている
※R.layout … Rクラスのネストクラス( Nested Classes)であるlayoutクラスを意味している
※「main.xml」には、デフォルトで文字列(の部品)が画面配置されているため、ソースに何も記述しなくても表示可能
※R.layout … Rクラスのネストクラス( Nested Classes)であるlayoutクラスを意味している
※「main.xml」には、デフォルトで文字列(の部品)が画面配置されているため、ソースに何も記述しなくても表示可能
種類 | プロジェクト名/gen/パッケージ名/R.java | リソースIDが割り当てられる対象 | プロジェクト名/res/ | リソース実体の種類 |
---|---|---|---|---|
… | attrクラス | … | … | … |
色 | colorクラス | … | values/colors.xml | XMLファイル |
画像 | drawableクラス | 画像のファイル名 | drawable/○○.jpg | 画像ファイル |
… | idクラス | … | … | … |
レイアウト | layoutクラス | レイアウト用XMLファイルのファイル名 | layout/○○.xml | XMLファイル |
文字列 | stringクラス | XMLファイルの中で各要素に付けられた名前 | values/strings.xml | XMLファイル |
… | styleクラス | XMLファイルの中で各要素に付けられた名前 | values/styles.xml | XMLファイル |