Android:res / strings.xml,包含另一个文件夹中的另一个字符串文件

时间:2014-03-15 23:44:36

标签: android xml string include adt

如何在文件系统中的另一个位置包含来自另一个xml的其他字符串?

例如:

<xi:include href="assets/app.xml" parse="xml" />

但上面的例子不起作用,什么是正确的语法?谷歌找不到任何东西。

也许你想知道为什么?好吧,很长一段时间,但想要自动化一些项目并在assets文件夹中生成内容(并重用)。这就是它在另一个地方的原因。我唯一需要的是按ADT运行。

是否可以在其他位置添加其他字符串?

资产文件夹中app.xml的内容:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">Example application</string>
    <string name="app_author">Erwin</string>
    <string name="app_copyright">illumation (c) 2014</string>
    <string name="app_favicon">assets/appicon.ico</string>
    <string name="app_icon">assets/appicon.png</string>
    <string name="app_icon_large">assets/appicon-large.png</string>
    <string name="app_launch_image">assets/applaunch.png</string>
</resources>

1 个答案:

答案 0 :(得分:2)

不幸的是,您希望使用R.string.string_name(Java)或@string/string_name(XML格式)标识符访问的所有字符串资源必须位于.xml文件中,直接位于{{1}您项目的目录(即,没有子目录)。

但是,文件名是任意的,您可以拥有任意数量的文件。主要要求是所有字符串资源都位于/res/values标记内。只要每个资源都在该标记内,并且每个文件都在上述目录中,那么它将被编译到您的<resources>

当然,这对你的情况没有帮助。

我还应该指出,您无法以编程方式修改资产。如果您这样做的目的是将数据保密至您的应用,那么您可能希望使用标准R.java的{​​{1}},openFileOuput()openFileInput()方法, getFilesDir()个对象。这些内容涵盖here

如果您需要使用XML格式,那么您可以使用几种不同的方法来解析XML,其中一些是详细的here。我已经使用了File,并且很容易实现。