我想知道我是否可以在/res/values/strings.xml
内放置XML?我问这个是因为我正在检查我的应用程序的XML数据文件,如果它还不存在,那么它会从默认内容创建它,它将作为字符串资源包含。
当使用GUI编辑字符串时,Eclipse会尝试将小于和大于标记的标记更改为相应的HTML实体。日食是否正确?因为我认为它也会作为HTML实体写入我的文件中。我可以使用getText()
而不是getString()
将实体转换回标签吗?
答案 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" />
完成强>