android raw与assets区别
2015-12-07 11:11
411 查看
*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));
转 自http://www.cnblogs.com/lianghui66/p/3248636.html
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));
转 自http://www.cnblogs.com/lianghui66/p/3248636.html
相关文章推荐
- Android学习----五大布局
- Android自定义View软键盘实现搜索
- 慕课网:Android异步加载AsyncTask项目实战上
- android 4.4 读写问题
- 关于androidManifest.xml中输入法窗口设置说明(windowSoftInputMode)
- 解决使用PullToRefreshListView找不到setOnItemLongClickListener方法的问题
- android(29)(显示意图与隐式意图,byte转换成int类型需注意的地方)
- 为Android系统内置Java应用程序测试Application Frameworks层的硬件服务
- android studio怎么查看方法注释
- Hello Android - 调用打电话和发短信及intent一些其他用法
- Android版本和API Level对应关系
- 为Android硬件抽象层(HAL)模块编写JNI方法提供Java访问硬件服务接口
- Android中canvas rotate中心点问题图解
- RadioButton实现自动换行的效果
- Android 之使用LocalBroadcastManager解决BroadcastReceiver安全问题
- Android studio 快捷键
- Android引用XML中的arrays 资源
- 【原】Android高德地图开发——准备阶段
- Android内核驱动程序的编写和编译过程
- android-service系列之断点续传下载