在java中是否可以使用字符串来调用raw中的文件?

在java中是否可以使用字符串来调用raw中的文件?,java,android,Java,Android,是否可以创建一个类似 public String pos1="bloodstone"; 然后在Mediaplayer中使用它: Mediaplayer s1; s1 = MediaPlayer.create(this, R.raw.pos1); s1.start(); 因此,如果我修改pos1=firemagate,它实际上会抓取R.raw.firemagate使

是否可以创建一个类似

public String pos1="bloodstone";
然后在Mediaplayer中使用它:

Mediaplayer s1;                                                                 
s1 = MediaPlayer.create(this, R.raw.pos1);
s1.start();
因此,如果我修改pos1=firemagate,它实际上会抓取R.raw.firemagate

使用getIdentifier:

此代码段假定您位于活动的某个方法中—如果您的代码位于活动之外的某个位置,则getResources和getPackageName是上下文中的方法

String pos1 = "bloodstone";

int rawId = getResources().getIdentifier(pos1, "raw", getPackageName());
Mediaplayer s1 = MediaPlayer.create(this, rawId);