プロが教える店舗&オフィスのセキュリティ対策術

Androidアプリ開発に関する質問です。

Bitmap bmp = BitmapFactory.decodeResource(getResources(),R.drawable.xxx);

という記述でres/drawable-hdpi/xxx.png

の画像を持ってくることができると思うのですが、
データベースに保存したString型のxxxを使って動的に画像を表示する方法が分かりません。
データベースから画像名を持ってくる前に、String型の変数(仮にstrとする)に画像名を入れて、
Bitmap bmp = BitmapFactory.decodeResource(getResources(),R.drawable.str);
と記述してもstrを変数として扱ってくれません。

どなたかres/drawable/の画像を動的に持ってくる方法を教えて頂けないでしょうか。

A 回答 (1件)

アプリ内のリソースとして用意されているイメージを利用するのであれば、例えばあらかじめ使用するイメージのリソース番号(R.drawable.xxxというやつ)を配列などにまとめておき、そこから必要に応じて取り出し処理すればいいと思います。



int[] res_data = {R.drawable.aaa, R.drawable.bbb……}; // リソース番号の配列を用意

int n = 取り出すデータ番号;
Bitmap bmp = BitmapFactory.decodeResource(res_data[n]);

あるいは、アプリ外にあるファイルを利用したいのであれば、decodeResourceを使わず、decodeFileを利用すればいいと思います。

Bitmap bmp = BitmapFactory.decodeFile(イメージファイルの絶対パス);
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!