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アプリ:アイコンの下に表示されるテキストの設定

Androidアプリをインストールした後に、スマホ画面に生成されるアイコンの下に表示されるテキストの設定方法です。 AndroidManifest.xml AndroidManifest.xmlを開き…続きを読む

Androidアプリ:ボタンやEditTextに余白(パディング)を設定する

Android StudioでボタンやEditTextに余白(パディング)を設定します。 余白の設定はレイアウトファイル(activity_main.xml)を編集します。 activity_main…続きを読む

Androidアプリ:エラー「ScrollView can host only one direct child」

Android StudioでScrollViewを設定して動作確認しようとすると、「ScrollView can host only one direct child」というエラーが出て動作確認でき…続きを読む

Androidアプリ:Class ‘Anonymous class derived from OnItemClickListener’…のエラー

Android Studioで開発中に、ListViewを使っていて以下のようなエラーメッセージが出た場合の理由です。 Class ‘Anonymous class derived from OnIt…続きを読む

Androidアプリ:ボタンをタップして別画面に遷移する

ボタンをタップしたら別画面に遷移させる方法です。 以下の例では、メイン画面の「ボタン」をクリックすると、サブ画面に移動し、サブ画面の「終了」ボタンを押すとメイン画面に戻ってきます。 メイン画面 act…続きを読む

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

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

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

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

Androidアプリ:android:fullBackupContentの宣言

Android Studioで、以下のようなエラーメッセージが表示されました。 On SDK version 23 and up, your app data will be automaticall…続きを読む

Androidアプリ:クリックイベントとロングクリックイベントを取得する

Androidアプリで、クリックイベントとロングクリックイベントの2つを取得して処理する方法です。 OnClickListenerとOnLongClickListenerを併記 public clas…続きを読む

Androidアプリ:ボタンの仕様を1つのxmlファイルにまとめる

Android Studioで、ボタンなどの色や形の指定をする際、1つのxmlファイルで、ボタンを押したときと押していないときの状態を指定する方法です。 xmlファイルの指定 Android Stud…続きを読む