- Date: Thu 22 12 2011
- Category: Android
- Response: Comment 0 Trackback 0
環境変数の一覧を取得してみる:System.getenv()
ADT(Android Development Tools)の adb shell → printenv を使えば携帯に設定されている環境変数が見れますが、プログラム上からでも一覧を取得してみることができます。
2段表示の ListView (android.R.layout.simple_list_item_2)を使って表示してみます。
上段が変数名、下段が値です。
以下、サンプルソース。
■ 画面イメージ ---------------------------------------------

■ ソースコード ---------------------------------------------
2段表示の ListView (android.R.layout.simple_list_item_2)を使って表示してみます。
上段が変数名、下段が値です。
以下、サンプルソース。
■ 画面イメージ ---------------------------------------------

■ ソースコード ---------------------------------------------
package jp.inujirushi.sample.activity;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.SimpleAdapter;
public class EnvironmentActivity extends Activity {
/** アクティビティを生成した時に呼ばれます。 */
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// キー
final String TEXT1 = "KEY";
final String TEXT2 = "VALUE";
// 環境変数を取得する
Map<String, String> env = System.getenv();
// 環境変数の値をリスト化する
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
Map<String, String> map;
for (Iterator<String> i = env.keySet().iterator(); i.hasNext();) {
// 環境変数を取得する
String key = (String) i.next();
String value = env.get(key);
// リストに追加する
map = new HashMap<String, String>();
map.put(TEXT1, key);
map.put(TEXT2, value);
list.add(map);
}
// SimpleAdapterを生成する
String[] key = { TEXT1, TEXT2 };
int[] id = { android.R.id.text1, android.R.id.text2 };
SimpleAdapter adapter = new SimpleAdapter(this, list,
android.R.layout.simple_list_item_2, key, id);
// ListViewを生成する
ListView listView = new ListView(this);
listView.setAdapter(adapter);
// レイアウトを生成する。
LinearLayout layout = new LinearLayout(this);
// レイアウトにリストを追加する
layout.addView(listView);
// レイアウトを設定する
setContentView(layout);
}
}
スポンサーサイト
- Date: Thu 01 12 2011
- Category: Android
- Response: Comment 0 Trackback 0
リソース内画像ファイルの一覧取得:リフレクション
リソースに保存されている画像ファイルを一覧で取得するにはリフレクションを使います。
リフレクションは、クラスからフィールドやメソッドなどの情報を取得するための JavaのAPI です。
リソース内の情報は R.java で管理されており、画像ファイルはその中の drawable で管理されています。
以下は、リソース内の画像ファイルを全て表示するためのサンプルソースです。
■ サンプルソース ---------------------------------------------
※自身のパッケージの R.java を参照することで登録したファイルを参照することができますが、android.R を対象にすることで android にデフォルトで登録されている色々な画像ファイルを取得することもできます。
リフレクションは、クラスからフィールドやメソッドなどの情報を取得するための 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 にデフォルトで登録されている色々な画像ファイルを取得することもできます。