【问题标题】:What are forbidden names for directories in Android's res directory?Android res 目录中目录的禁止名称是什么?
【发布时间】:2012-04-14 12:35:48
【问题描述】:

我最近在我的 Android 项目中添加了 res/raw/dictionaries/en-GB/wordlist.txt。它产生了一个错误。我最终发现目录名称dictionaries 引起了问题,我将其更改为dicts,一切都很好。

为什么不允许使用此名称?其他人不允许吗?是否有不允许的目录名称列表?

【问题讨论】:

    标签: android naming


    【解决方案1】:

    http://developer.android.com/guide/topics/resources/providing-resources.html 你可以看到:

    限定符名称规则

    替代资源目录不能嵌套。例如,你 不能有 res/drawable/drawable-en/。

    res 文件夹中不支持嵌套文件夹,支持 只有一个线性的文件列表。但是在assets 文件夹中,您可以放置​​一个 文件夹和文件的任意层次结构,因为 assets 文件夹的内容不被视为资源。

    你应该不能像res/raw/dicts/en-GB/wordlist.txt 这样的东西,但如果发生这种情况,你可能无法获得 wordlist.txt (R.raw.wordlist) 的资源 ID

    assets 文件夹和 raw 文件夹是相似的。两个都 可以包含原始文件,但 raw 中的文件被视为资源,并且 资产中的文件不是。

    【讨论】:

    • 有趣。我还没有尝试访问这些文件,但只是更改文件夹的名称似乎会使错误消失。听起来这可能是一个错误。
    • 可能是一个错误。我用您定义的名称进行了测试res/raw/dictionaries/en-GB/wordlist.txt,这种情况下它没有给我任何错误,但我无法通过资源 id (R.raw .wordlist)
    【解决方案2】:

    据我所知,除了 Android 定义的文件之外,你不能放任何其他文件,我认为你只能放这里定义的文件:http://developer.android.com/guide/topics/resources/available-resources.html 所以令人惊讶的是你可以制作 /dicts ...

    【讨论】:

    • 不。 res/raw 随你的便。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-17
    相关资源
    最近更新 更多