Java 为原始资源分配资源ID

Java 为原始资源分配资源ID,java,android-studio,resources,Java,Android Studio,Resources,我在Android Studio的res/raw目录中有不同的.mp4视频。我想给它们分配ID,以便以后可以访问它们 这是我当前代码的一个片段: public Level(Context c){ ArrayList<Trial> trials = new ArrayList<Trial>(); String packagename = this.getClass().getPackage().getName(); String[] genders = {"ma

我在Android Studio的res/raw目录中有不同的.mp4视频。我想给它们分配ID,以便以后可以访问它们

这是我当前代码的一个片段:

public Level(Context c){
  ArrayList<Trial> trials = new ArrayList<Trial>();
  String packagename = this.getClass().getPackage().getName();
  String[] genders = {"male", "female"};
  String[] age = {"young", "old"};
  for (int i = 0; i < genders.length; i++) {
    for (int j = 0; j < age.length; j++) {
      int tempId = c.getResources().getIdentifier("android.resource://" + packagename + "raw/" +genders[i] + "_" + age[j], "raw", packagename);
      Trial t = new Trial();
      t.setResourceID(tempId);
      trials.add(t);
    }
  }
  .
  .
  .
}
两个例子都不起作用。
tempId
的值始终为零


非常感谢您的帮助。

第二个更接近正确。但是,从开头删除
“raw/”
。除此之外,我们需要知道确切的文件名。我也试过了,忘了提。也不管用。文件名:例如“female_old.mp4”。所有的名字都比这复杂一点,但我确信这个名字总是拼写正确。我只是不知道如何正确地访问原始资源。好吧,你的想法是对的,如果一切都正确的话,这肯定会起作用。您确定这些资源已成功构建吗?我的意思是,如果你试着在代码中使用
R.raw.female\u old
是否有效?另外,您确定
packagename
是正确的,并且可能不是空的吗?很抱歉,回复太晚了。将尝试检查资源是否正确生成。是的,我确信packagename是正确的。谢谢你的建议!第二个更接近正确。但是,从开头删除
“raw/”
。除此之外,我们需要知道确切的文件名。我也试过了,忘了提。也不管用。文件名:例如“female_old.mp4”。所有的名字都比这复杂一点,但我确信这个名字总是拼写正确。我只是不知道如何正确地访问原始资源。好吧,你的想法是对的,如果一切都正确的话,这肯定会起作用。您确定这些资源已成功构建吗?我的意思是,如果你试着在代码中使用
R.raw.female\u old
是否有效?另外,您确定
packagename
是正确的,并且可能不是空的吗?很抱歉,回复太晚了。将尝试检查资源是否正确生成。是的,我确信packagename是正确的。谢谢你的建议!
int tempId = c.getResources().getIdentifier("raw/" +genders[i] + "_" + age[j], "raw", packagename);