我在最近几天发现了许多类似的问题但是没有给我一个有效的答案所以请原谅我再问一次,但也许有人可以帮助我...
问题:
IDE:Eclipse 3.6.2;
Android SDK
为了将一个小mp3加载到res / raw,我在res中创建了raw文件夹...并将原始文件夹中的文件添加到New>档案......到目前为止一直很好......
BUT:
MediaPlayer mp = MediaPlayer.create(context, R.raw.sound_file_1);
mp.start();
R.raw或任何其他方式来获得原始的工作....我无法进入sound_file
如果我在类R.java中查看它不包含原始...
我真的不知道我还能做什么...
也许有人可以帮助我...
提前致谢
答案 0 :(得分:4)
您需要重建/重新创建R.java - 该文件是按需生成的。
在Eclipse中,这可能需要“清理和构建”操作。您也可以在项目视图中刷新项目,它将重新填充所有资产,在您构建时,它将为您重新填充R.raw
在IntelliJ IDEA中,当你站在这样的资源文件上时,你有一个上下文菜单选项“强制生成R.java”。
注意如果您的某个Java / XML文件中存在编译错误,则不会重新生成R文件
答案 1 :(得分:3)
你应该小心:
1)您的文件名不包含任何illigal caracters。如果它然后它将无法正确创建R文件,因此您不能使用R(错误消息出现在常规eclipse控制台中)
2)检查您是否已将文件“加载”到项目中 在elcipse浏览器的项目根目录上执行ctrl(或mac上的cmd)+ shif + o(重新加载所有资源) 然后F5刷新文件结构 和一个干净的项目,以强制一个很好的清洁构建
3)您可以检查是否已将RIght R文件导入到您的项目中,有一个默认的R文件类似于android.R而不是projectPackages.R
希望这会有所帮助
杰森
答案 2 :(得分:1)
如果文件具有全大写文件名,请将文件重命名为全小写。 (可能会出现一条错误消息:“无效的文件名:必须只包含[a-z0-9 _。]”)我想知道它是否与保留案例有关但在mac上不区分大小写的文件系统? (我正在Mac上开发。)
答案 3 :(得分:0)
我有同样的问题,我解决了。
事实是文件名在Capital Ex
,Song1.mp3
...我只重命名为song1.mp3
并且它有效..
答案 4 :(得分:0)
导入android.R;
相反,我改为
projectroot.mypackage.R;
答案 5 :(得分:-1)
我将音乐文件重命名为小写字母而不是其他内容。 比它的工作(经过长时间的研究)。
答案 6 :(得分:-3)
Windows资源管理器检查音频文件,而不是Eclipse。