Android Developer 中的介绍
访问原始文件
尽管并不常见,但您的确有可能需要访问原始文件和目录。如果确有需要,则将您的文件保存在 res/ 中不起作用,因为从 res/读取资源的唯一方法是使用资源 ID。您可以改为将资源保存在 assets/ 目录中。
保存在 assets/ 目录中的文件没有资源 ID,因此您无法通过 R 类或在 XML 资源中引用它们。您可以改为采用类似普通文件系统的方式查询 assets/ 目录中的文件,并利用 AssetManager
读取原始数据。
不过,如果只需要读取原始数据(例如视频文件或音频文件)的能力,则可将文件保存在 res/raw/ 目录中,并利用 openRawResource()
读取字节流。
相同与差异
目录 | 是否被压缩 | 资源ID | 是否有目录结构 |
---|---|---|---|
assets | 否 | 无 | 是 |
res/raw | 否 | 有 | 否 |
res/other | 是 | 有 | 否 |
共同点
都不会压缩,不会被编译成二进制不同点
1.assets/ 目录 中的文件没有资源 ID,因此您无法通过 R 类或在 XML 资源中引用它们
2.assets/ 目录 可以有目录结构
其他
assets类似文件的访问方式。raw类似res的访问方式。