Android 中raw和assets文件夹的区别
Android 中raw和assets文件夹的区别
以下是我通过整理网上与自己的经验所得。
raw 和 assets 的相同点
它们会被原封不动的拷贝到APK中,而不会像其它资源文件那样被编译成二进制的形式。
raw 和 assets 的不同点
1.它们在代码中的不同方式 :
assets:
InputStream assets = getAssets().open("xxxx");
raw:
InputStream raw = getResources().openRawResource(R.raw.xxxx)
assets下可以创建目录结构,还能够动态的列出assets中的所有资源(getAssets().list(String path);),raw文件目录下不行
raw 文件夹下的的会资源生成一个资源id,assets文件下的资源不会
raw 和 assets 的使用场景
1.由于raw是Resources(res)的子目录,Android会自动的为这目录中的所有资源文件生成一个ID,这个ID会被存储在R类当中,作为一个文件的引用。这意味着这个资源文件可以很容易的被Android的类和方法访问到,甚至在Android XML文件中你也可以@raw/的形式引用到它。在Android中,使用ID是访问一个文件最快捷的方式。MP3和Ogg文件放在这个目录下是比较合适的。
2.assets目录更像一个附录类型的目录,Android不会为这个目录中的文件生成ID并保存在R类当中,因此它与Android中的一些类和方法兼容度更低。同时,由于你需要一个字符串路径来获取这个目录下的文件描述符,访问的速度会更慢。但是把一些文件放在这个目录下会使一些操作更加方便,比方说拷贝一个数据库文件到系统内存中。要注意的是,你无法在Android XML文件中引用到assets目录下的文件,只能通过AssetManager来访问这些文件。数据库文件和游戏数据等放在这个目录下是比较合适的
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
- 读写Android中assets目录下的文件的方法详解
- Android获取assets文件夹中的数据并写入SD卡示例
- android读取assets文件示例
- 基于android中读取assets目录下a.txt文件并进行解析的深入分析
- Android操作存放在assets文件夹下SQLite数据库的方法
- Android播放assets文件里视频文件相关问题分析
- Android编程读取Assets所有文件(遍历每一个文件夹)并存入sdcard的方法
- android文件操作——读取assets和raw文件下的内容
- Android 加载assets中的资源文件实例代码
- Android 读取assets和raw文件内容实例代码
- Android API编程之Assets文件操作示例
- Android开发实现读取Assets下文件及文件写入存储卡的方法
相关文章
Android开发实现ImageView宽度顶边显示,高度保持比例的方法
这篇文章主要介绍了Android开发实现ImageView宽度顶边显示,高度保持比例的方法,结合实例形式分析了Android ImageView界面布局及元素属性动态操作两种功能实现技巧,需要的朋友可以参考下2018-02-02Android中@id和@+id及@android:id的区别介绍
这篇文章主要给大家介绍了关于Android中@id和@+id及@android:id的区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-09-09Android新特性页面之ViewPager拖拽到最后一页再拖拽打开其他Activity(三种方法)
这篇文章主要介绍了Android新特性页面之ViewPager拖拽到最后一页再拖拽打开其他Activity的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下2016-08-08Flutter WebView 预加载实现方法(Http Server)
这篇文章主要介绍了Flutter WebView 预加载实现方法,包括资源的配置,资源的下载和存储,版本的管理,如何根据实际url获取对应HttpServer bind的url等,需要的朋友可以参考下2022-05-05Android debug包运行正常release包崩溃的解决办法
这篇文章主要介绍了Android debug包运行正常,release包崩溃解决办法,文中通过代码示例介绍的非常详细,对大家解决问题有一定的帮助,需要的朋友可以参考下2024-04-04
最新评论