res/raw和assets的异同

*res/raw和assets的相同点:

1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。

*res/raw和assets的不同点:

1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类。

2.res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可以再建立文件夹

*读取文件资源:

1.读取res/raw下的文件资源,通过以下方式获取输入流来进行写操作

InputStream is = getResources().openRawResource(R.id.filename);  

2.(1)读取assets下的文件资源,通过以下方式获取输入流来进行写操作

AssetManager am = null;  

am = getAssets();  

InputStream is = am.open("filename");  

  (2)如果用Videoview来播放:

  VideoView.setVideoUri(Uri.parse("android.resource://" + getpackageName() + "/" + R.raw.movie));

推荐阅读更多精彩内容

  • 项目中,欢迎页背景为视频,就视频文件到底放在哪个地方这一问题,跟同事观点有些不合,查阅相关资料,在此记录。网上关于...
    贝贝ovo阅读 2,461评论 1 2
  • *res/raw和assets的相同点:1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进...
    忘尘And阅读 1,696评论 1 2
  • ¥开启¥ 【使用jni实现Tost】 〖2017-08-20 22:15:04〗 《在xx.cpp中写入以下代码€...
    小菜c阅读 456评论 0 1
  • //////////2017-1-10 ~ 2017-1-15/////////// int study_data...
    javaMonkey阅读 214评论 0 0
  • 正青也是我的语文课代表,一个有点多愁善感的孩子,像一只惹人爱怜的小白兔,永远那么乖巧和安静。不管在校园的什么地方...
    飘逸之境阅读 466评论 0 2