在Android中访问资源文件

时间:2012-06-06 14:24:29

标签: android

我已经玩了很长时间了。我无法理解为什么我的Android应用程序无法找到我的文件/res/raw/video.mp4。我在API 15上,手机是最新的v4.0.3。

目前测试代码如下:

String file = "android.resource://" + getPackageName() + "/" + R.raw.movie; 
File f = new File(file);
message = f.exists() ? "file exists" : "file missing";

到目前为止,我尝试过的所有组合都会导致消息字符串返回为“文件丢失”。从资源访问文件的正确方法是什么?尝试了显而易见的“/res/raw/video.mp4”等,但都失败了。

2 个答案:

答案 0 :(得分:3)

假设您要打开一个流来处理该文件,您应该这样做:

InputStream raw = getResources().openRawResource(R.raw.movie); 

修改

好的,既然我确切地知道你想要什么,我就有坏消息。不太可能。

请参阅此SO question

基本上你需要将资源从资源复制到你可以获得的地方,如SD卡或内部存储。

答案 1 :(得分:0)

String url = "file:///android_asset/raw/filename.jpg“;