HOME技術AndroidAndroidアプリ:String型の変数に格納した画像や音声ファイル名から表示・再生する

Androidアプリ:String型の変数に格納した画像や音声ファイル名から表示・再生する

Android Studioを使って画像ファイル名や音声ファイル名から、ImageViewで画像を表示したりMediaPlayerで音声再生する方法です。

String型の変数に、画像ファイル名もしくは音声ファイル名を保存しておき、それを参照して処理する方法を調べました。

画像ファイル名を格納した変数から画像を表示

ImageView imgView = (ImageView) findViewById(R.id.imgView);
String imgFile = "img";
String imgFolder = "drawable";
int imgPath = getResources().getIdentifier( imgFile, imgFolder, getPackageName());
imgView.setImageResource(imgPath);

app\src\main\res\drawable以下に、img.pngを格納した場合です。
また、レイアウト用xmlには、imgViewというid名のImageViewがあるとします。

音声ファイル名を格納した変数から音声を再生(MediaPlayerの場合)

MediaPlayer mp;
String soundFile = "sound";
String soundFolder = "raw";
int soundPath = getResources().getIdentifier(soundFile, soundFolder, getPackageName());
mp = MediaPlayer.create(getApplicationContext(), soundPath);
mp.start();

app\src\main\res以下にrawフォルダを作って、sound.mp3(またはsound.ogg)を格納した場合です。

関連記事

Androidアプリ:error: expected color reference but got (raw string)

Android Studioでビルドした際に、C:\android\project\***\app\src\main\res\values\styles.xml: AAPT: error: expec…続きを読む

Androidアプリ:背景に画像を指定する

Android Studioを使って、背景に画像を設定する方法です。 背景画像を格納する 今回は以下の画像を使います。 画像サイズなどは適当につくります。 Androidは様々な解像度がありますが、画…続きを読む

Androidアプリ:ライブラリの更新とエラーの修正

Androidアプリを開発していて、Build.gradle(app)の、dependenciesの項目内でハイライト表示されたり、赤い下線が引かれたりすることがあります。 ハイライトはライブラリを更…続きを読む

Androidアプリ:タイトルバーを消す

Android Studioで、タイトルバーを消す方法です。 通常は、以下のように画面上部にタイトルバーが表示されています。 AndroidManifest.xmlを編集する android:them…続きを読む

Androidアプリ:アダプティブアイコンに対応する

AndroidではOS 8.0からAdaptiveアイコン(アダプティブアイコン)というアイコンを用意する必要がでてきました。 これまでの通常のアイコン、ラウンドアイコンに加えて、アダプティブアイコン…続きを読む

Google広告でポリシー違反「句読点と記号」に対応する

モバイルアプリのGoogle広告のキャンペーンを設定しましたが、「ポリシー違反1件」と表示されました。 ポリシー違反「句読点と記号」 ポリシー違反の詳細を見ると、「句読点と記号」というヒントが表示され…続きを読む

Androidアプリ:ストアの掲載情報

Androidアプリのプログラムが完成したらすぐにGoogle Playにアップロードできるわけではありません。 プログラム以外に必要なデータを以下にリストアップしました。 ストアの掲載情報として必要…続きを読む

Androidアプリ:内部テスト版をリリースする

Androidアプリで完成したものをすぐに公開する前に、内部テスト版としてリリースして動作確認をする方法です。 内部テスト版リリース方法 Google Play Consoleにログインして、「すべて…続きを読む

Androidアプリ:When using intent filters, please specify ‘android:exported’ as well

Android Studioで「When using intent filters, please specify ‘android:exported’ as well」という…続きを読む

Androidアプリ:テキストをリスト表示する

Androidアプリで、ListViewを使い、配列に格納したテキストをリスト表示します。 MainActivity.java import android.app.Activity; import …続きを読む