互联网上有许多页面都在谈论“file:///android_asset/”路径(有时在末尾附加一个s ...)以访问 assets 文件夹。我无法在此路径/功能上找到任何类型的官方或值得信赖的文档。
这条路径是否有任何适当的文档?Android 团队记录了吗?
Android 是开源的,它的源代码是最准确的文档。这里来自android.webkit.URLUtil
:
// to refer to bar.png under your package's asset/foo/ directory, use
// "file:///android_asset/foo/bar.png".
static final String ASSET_BASE = "file:///android_asset/";
// to refer to bar.png under your package's res/drawable/ directory, use
// "file:///android_res/drawable/bar.png". Use "drawable" to refer to
// "drawable-hdpi" directory as well.
static final String RESOURCE_BASE = "file:///android_res/";
奇怪的是,我在以下搜索中只找到了一个命中:
该搜索结果是 for WebSettings
,其中顺便提到了android_asset
和android_res
路径。
但是,我确定我之前已经阅读过“官方”文档...
我找到了这个:
http://developer.android.com/tools/projects/index.html
它提供了项目的目录结构。
有趣的部分说:
资产/这是空的。您可以使用它来存储原始资产文件。您在此处保存的文件将按原样编译为 .apk 文件,并保留原始文件名。您可以使用 URI 以与典型文件系统相同的方式导航此目录,并使用 AssetManager 将文件作为字节流读取。例如,这是放置纹理和游戏数据的好位置。
res/ 包含应用程序资源,例如可绘制文件、布局文件和字符串值。有关详细信息,请参阅应用程序资源。
anim/ 用于编译成动画对象的 XML 文件。请参阅动画资源类型。
color/ 用于描述颜色的 XML 文件。请参阅颜色值资源类型。
drawable/ 用于位图文件(PNG、JPEG 或 GIF)、9-Patch 图像文件和描述可绘制形状或包含多种状态(正常、按下或聚焦)的可绘制对象的 XML 文件。请参阅可绘制资源类型。
layout/ XML 文件被编译成屏幕布局(或屏幕的一部分)。请参阅布局资源类型。
menu/ 用于定义应用程序菜单的 XML 文件。请参阅菜单资源类型。
raw/ 用于任意原始资产文件。将资产文件保存在此处而不是 assets/ 目录中仅在您访问它们的方式上有所不同。这些文件由 aapt 处理,并且必须使用 R 类中的资源标识符从应用程序中引用。例如,这是存放 MP3 或 Ogg 文件等媒体的好地方。
values/ 用于编译成多种资源的 XML 文件。与 res/ 目录中的其他资源不同,写入此文件夹中的 XML 文件的资源不被文件名引用。相反,XML 元素类型控制在其中定义的资源如何放入 R 类中。
xml/ 用于配置应用程序组件的其他 XML 文件。例如,定义 PreferenceScreen、AppWidgetProviderInfo 或可搜索性元数据的 XML 文件。有关配置这些应用程序组件的更多信息,请参阅应用程序资源。