Я пытаюсь получить доступ к ресурсам в папке /res/raw
программным способом (в частности ... mp3-файлы).В эмуляторе у меня работает следующий шаблон:
Uri uri = Uri.parse("android.resource://com.foo.bar/raw/name_of_resource");
MediaPlayer mp3 = MediaPlayer.create(this, uri);
На реальном телефоне метод MediaPlayer.create()
возвращает ноль.Что дает?Есть ли лучший способ доступа к ресурсам программно?
PS
Я не использую MediaPlayer.create(this, R.raw.name_of_resource)
по причине.В моей конкретной ситуации мне гораздо проще сгенерировать имя ресурса, чем вычислить id
ресурса.(то есть я могу довольно легко вычислить String
name_of_resource
, но вывод фактического integer id
R.raw.name_of_resource
потребовал бы намного больше работы и намного больше switch
утверждений.