戌印-INUJIRUSHI- (Androidあれこれ)

Androidのプログラミングをメインにしてます。記事に貼られたソースコードはダブルクリックすることで行番号をはずしてコピーすることができます。

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
08

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

リソース内画像ファイルの一覧取得:リフレクション

リソースに保存されている画像ファイルを一覧で取得するにはリフレクションを使います。
リフレクションは、クラスからフィールドやメソッドなどの情報を取得するための JavaのAPI です。

リソース内の情報は R.java で管理されており、画像ファイルはその中の drawable で管理されています。
以下は、リソース内の画像ファイルを全て表示するためのサンプルソースです。

■ サンプルソース ---------------------------------------------

// レイアウトを生成する
LinearLayout layout = new LinearLayout(this);

// 画像リソースを取得する
Field[] fields = R.drawable.class.getFields();

// 画像リソース読込み
for (Field field : fields) {
try {
// フィールド名を取得する
String name = field.getName();

// フィールドの値を取得する
int value = (Integer) field.get(name);

// 画像読込み
ImageView image = new ImageView(this);
image.setImageResource(value);

// レイアウトに画像を表示する
layout.addView(image);

} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}

// レイアウトを設定する
setContentView(layout);


※自身のパッケージの R.java を参照することで登録したファイルを参照することができますが、android.R を対象にすることで android にデフォルトで登録されている色々な画像ファイルを取得することもできます。
スポンサーサイト

Comments

Leave a Comment


Body
プロフィール

とむ・やむくん

Author:とむ・やむくん
管理人について

Windows 7 / 64bit
Eclipse 4.2 Juno (日本語パッチ済)

スポンサーサイト
最新トラックバック
検索フォーム
ブロとも申請フォーム
QRコード
QR
Twitter
2013/01/04 19:00 カウント開始

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。