我几个月前为客户创建的Android应用程序能够通过电子邮件发送链接到PDF,其中包含大量文本。客户现在希望该文本直接在电子邮件中以HTML格式(包含链接,项目符号等)。
使用Android的Mail Intent,我试图在EXTRA_MESSAGE字段上发送这个长字符串,但由于我必须用双引号包装文本,所以我必须'\'几乎所有我想要的双引号字符串对于成千上万行来说,这是相当不愉快的,更不用说了(如果我没记错的话),对多行使用+ =运算符似乎不起作用。
有没有办法解决这个问题,将长HTML代码放入String对象发送的最简单方法是什么?
谢谢!
答案 0 :(得分:0)
我不确定你要做什么,或者它有多动态。但您可以考虑使用String.format方法。像String.format("<htmltag>%s</htmltag>","stuff inside tags");
和StringBuilder对象一样,以便连接多个字符串并构建最终的字符串。
无论何时使用循环或条件连接字符串,都需要使用StringBuilder或其他类似的构造。 + =运算符导致分配很多String对象,这些对象几乎立即被抛弃,因为它们是不可变的。
答案 1 :(得分:0)
TextUtils
的{{1}}类中的方法。这将获取您的输入并将所有HTML元素更改为其等效项(例如htmlEncode()
变为<
,<
变为"
)。但是,此方法将String作为参数;例如:
"
因此,要获得此字符串,我认为最简单的方法是首先将此HTML字符串存储在XML资源(strings.xml)中,然后使用String escapedString = TextUtils.htmlEncode(unescapedString);
访问它:
getString()
这仅适用于HTML字符串始终相同的情况。