如何在文件系统中的另一个位置包含来自另一个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>
答案 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
,并且很容易实现。