欢迎来到代码驿站!

Android代码

当前位置:首页 > 移动开发 > Android代码

Android 中raw和assets文件夹的区别

时间:2021-10-27 09:15:56|栏目:Android代码|点击:

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 TV开发:实现3D仿Gallery效果的实例代码

栏    目:Android代码

下一篇:Android实现圆形纯数字按钮

本文标题:Android 中raw和assets文件夹的区别

本文地址:http://www.codeinn.net/misctech/181443.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有