资产 - “图像”,“声音”和“webkit”?

时间:2011-07-20 11:13:15

标签: android

我试图以递归方式加载我放置在项目中“assets”文件夹中的所有资源。当我执行以下操作时:

AssetManager assetManager = getResources().getAssets();
String assets[] = assetManager.list("");

并检查在assets数组中加载了哪些字符串,我找到了我在指定文件夹中放置的资源,以及字符串“images”,“sounds”和“webkit”。有人知道为什么吗?

对于背景信息(尚不知道它是否适用),我的资产是包含完整html网页的zip文件,我用它来加载到WebViews中。

3 个答案:

答案 0 :(得分:7)

我也注意到了这一点。以下是放置在这些目录中的一些资产:

webkit/play.png
webkit/nullPlugin.png
webkit/missingImage.png
webkit/android-weberror.png
sounds/bootanim1.raw
images/comobox-disabled.png
images/comobox-noHighlight.png 

我的猜测是系统依赖于此资产存在于所有.apk文件中。但是,Android不是通过构建它们(这将增加所有.apk文件的大小),而是通过资产API模拟它们。

此外,作为副作用,您可以使用与内置资源同名的任何自定义资源覆盖此资产。并不是说这可能太有用了,但这是可能的。

答案 1 :(得分:0)

我有这个问题,我建议你检查几件事情:

  1. 目录名称是用英文写的。 \ n
  2. 您的资产根目录中只有一个目录(在这个目录中,您可以插入几个drectories) 例如:
    assets->app->imageassets->app->another dir 在这个例子中,app dir是asssete root中唯一的目录。

答案 2 :(得分:0)

就我而言,我在项目的“app”目录(app - > assets)中创建了assets文件夹,而且我在AssetsManager中没有读取我加载到这个“assets”文件夹中的文件。然后我右键单击“app”文件夹 - >新 - >文件夹 - >资产文件夹(位置“主”)和一切都已解决。问题在于创建“assets”文件夹的位置。