Android字符串资源中的XML?

时间:2010-12-20 13:27:34

标签: android xml string android-resources

我想知道我是否可以在/res/values/strings.xml内放置XML?我问这个是因为我正在检查我的应用程序的XML数据文件,如果它还不存在,那么它会从默认内容创建它,它将作为字符串资源包含。

当使用GUI编辑字符串时,Eclipse会尝试将小于和大于标记的标记更改为相应的HTML实体。日食是否正确?因为我认为它也会作为HTML实体写入我的文件中。我可以使用getText()而不是getString()将实体转换回标签吗?

3 个答案:

答案 0 :(得分:72)

是的,你可以,只需使用CDATA

<string name="stringName1"><![CDATA[<html>bla</html>]]></string>

答案 1 :(得分:2)

除非您在其中转义字符,否则显然无效。或者&gt;或者&amp ;.

如果您对XML进行编码,它应该可以正常工作,但可能不是最好的方法。我更喜欢二进制资源。


要放入string.xml,您可以使用

进行编码
String encoded = URLEncoder.encode(xml);

解码恰恰相反。

对于二进制文件,您将它放在RAW文件夹中,然后获得二进制流并将其转换为字符串并加载。

答案 2 :(得分:1)

我这样做了:

字符串放在 strings.xml

<string name="my_string"><![CDATA[Your long text here]]></string>

使用方法:

<TextView
    android:id="@+id/textView"
    android:text="@string/my_string"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

完成