【发布时间】:2019-11-19 06:05:01
【问题描述】:
我有一个长文本需要放入字符串中,到目前为止它看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="long_text">
xxx
xxx
xxx
xxx
</string>
</resources>
而且看起来很糟糕。此外,如果我想更改文本,这有点不方便。所以我想要这样的东西:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="long_text"> assets/myfile.txt </string>
</resources>
该长 xxx 文本将存储在文件夹中的某个文件 - myfile.txt 中。我见过一些通过java代码而不是strings.xml插入文本的解决方案,但这对我来说太复杂了。谁能帮我这个?
【问题讨论】:
-
您可以使用此策略并将大文本放在单独的文件中:alvinalexander.com/android/…
-
我实际上打开了那个页面,但我真的不知道如何使用文件而不是那个 HTML 代码。 会起作用吗?
-
用
<![CDATA[ your document text]]>替换HTML,如果它只是文本数据,你可以单独在一个文件中处理所有大文本,由XML标签锚定,而不是将它放在共享的strings.xml文件中。 -
您的意思是,不是让 string.xml 拥有带有 CDATA 代码和文本的 longtext.xml 吗?问题是我有两种翻译,并且我有两种不同语言的 string.xml。 longtext.xml 不会只针对一种语言吗?
-
这是一种不好的方法,请按照@Compass 的建议使用
<![CDATA[ your document text]]>。目前,您拥有一个完全可用的独立 XML 文件,任何系统都可以使用它,而无需依赖那些额外的assets文件。一旦将长内容放入外部文件中,XML 文件的全部目的就会从作为数据源转变为简单地指向可能存在或不存在于该系统上的数据源。此外,“看起来很糟糕”的评论并不是一个真正的问题,因为 XML 文件并不意味着看起来很好,它们是供计算机处理的,而不是供人们惊叹的。