phpAndroid開発 虎の巻

リソース

カテゴリ:リソース

■文字列配列

/res/values/strings.xml内で指定

例: <string-array name="fruits"> <item>りんご</item> <item>いちご</item> <item>みかん</item> </string-array>

Javaでの利用

String[] names = getResources().getStringArray(R.array.fruits);

■整数配列

/res/values/ 内に任意のxmlファイルを作成し指定

<integer-array name="samples"> <item>150</item> <item>100</item> <item>200</item> </integer-array>

Javaでの利用

int[] nums = getResources().getIntArray(R.array.samples);

■文字列

/res/values/strings.xml内で指定

XMLでの使用例

android:text="@string/teststr"

プログラム中での使用例

TextView tv = (TextView)findViewById(R.id.textView1);
tv.setText(R.string.teststr);

文字列として取り出したい場合

String str = getString(R.string.teststr);

■色

[File]-[New]-[Other]で「Android」の「Android XML Values File」
colors.xml を作成。

<resources> <color name="aka">#ff0000</color> </resources>

XMLでの使用例

android:background="@color/aka"

プログラム中での使用例

int color = getResources().getColor(R.color.aka);
tv.setBackgroundColor(color);

■文字列への値の埋め込み

/res/values/strings.xml内で指定

<string name="mes">%d 円です</string>

プログラム例:

	String str = getString(R.string.mes,100);
	tv.setText(str);

(英語などでの)複数形への対応

<plurals name="book"> <item quantity="one">Buy one book</item> <item quantity="other">Buy %d books</item> </plurals>

プログラム内

Resources クラスのgetQuantityStringメソッドを使う。

getQuantityString(リソースID,数量,表示数量)

String str = getResources().getQuantityString(R.plurals.book, 1);  
String str = getResources().getQuantityString(R.plurals.book, 4, 4);  

■文字列からリソースIDの取得

int id = getResources().getIdentifier("textView" + i, "id", getPackageName());
TextView tv = (TextView)findViewById(id);

カテゴリ:リソースの記事