android raw与assets区别
来源:互联网 发布:linux从入门到精通 编辑:程序博客网 时间:2024/05/19 13:20
*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));
assets和res/raw工程目录下都可以放一些小于1M的文件,这些文件将被打包到APK中应用使用。 assets下面的文件不会被编译,通过路径可以去访问其中的内容。raw中文件会自动编译,最好不要将过大的文件打包到APK中,如果你的资源很大,例如视频等等,应该单独存储在文件系统中。这两个目录的区别主要是assets目录下的文件不会被映射到R.java中,即系统不会自动为其生成一个资源ID.另一方面,由于系统会为res目录下的所有资源生成相应的资源ID,所以raw中的文件也不例外。综上,我们可以通过ID去访问res/raw目录中的任何文件,而assets目录中的文件就需要借助AssetManager去访问了。
最后二者还有一个区别,assets目录允许下面有多级子目录,而res/raw下不允许存在目录结构。
- android raw与assets区别
- android raw与assets区别
- android raw与assets区别
- android raw与assets区别
- android raw与assets区别
- android raw与assets区别
- android raw与assets区别
- android raw与assets区别
- android raw与assets区别
- Android raw与assets区别
- android raw与assets区别
- android raw与assets区别
- android raw与assets区别
- android下raw与assets文件夹区别
- assets与res/raw区别
- 目录raw与assets区别
- android资源目录---assets与res/raw区别
- android资源目录---assets与res/raw区别
- charSequence
- yum安装mysql
- dsa算法(18)
- Note of Chap5
- java+内存分配及变量存储位置的区别
- android raw与assets区别
- 零碎知识整理笔记
- 关于hibernate的缓存问题总结
- Android:Content has been consumed
- 两个栈实现队列&&用两个队列实现一个栈
- 曾经的你们是否还记得
- 电视台发力T2O模式 互联网思维真是救命稻草?
- 不能忽视的打印设备潜在风险
- 控制ViewPager的切换速度