我想存储一个完全合格的URL,还具有查询参数:
www.miosito.net?prova®=bis
但它造成一个问题,因为®
类似于®
实体和Android告诉我,和HTML实体写得不好。
我需要这个,因为各个地区使用完全不同的一组网址查询参数的。
我试着用[[CDATA[.. ]]
但是这句法通过XML解析器不喜欢。
我想存储一个完全合格的URL,还具有查询参数:
www.miosito.net?prova®=bis
但它造成一个问题,因为®
类似于®
实体和Android告诉我,和HTML实体写得不好。
我需要这个,因为各个地区使用完全不同的一组网址查询参数的。
我试着用[[CDATA[.. ]]
但是这句法通过XML解析器不喜欢。
这个问题是不是&req
但&
本身。 对于XML / HTML,你将不得不使用&
实体(或&
但对你的URL应该相当URL编码( 见文档 )字符串,在这种情况下,说&
应替换为%26
。 所以,你最终的字符串应该是这样的:
www.miosito.net?prova%26reg=bis
存储这样的:
<string name="my_url">"www.miosito.net?prova&reg=bis"</string>
凡&
是连字符的XML equivelant &
。
百分号编码可以做的伎俩: http://en.wikipedia.org/wiki/Percent-encoding你基本上是这样的:www.miosito.net?prova%26reg=bis
你可以附上你的网址在双引号,像这样:
<string name="my_url">"www.miosito.net?prova®=bis"</string>
这是附上字符串资源在Android上推荐的方式。
更新1:看一看下面的链接了解更多信息:
http://developer.android.com/guide/topics/resources/string-resource.html#FormattingAndStyling
更新2:@ WebnetMobile.com:正确的,确实:)“&”是由XML处理特殊字符和引号引起不起作用。 我尝试了
www.miosito.net?prova%26reg=bis
它也不能工作了。 我甚至尝试在引号引起,但仍然没有奏效。 我缺少的东西吗?
同时,下面做工作:
<string name="my_url">www.miosito.net%1$sprova%2$sreg=bis</string>
然后在代码:
Resources resources=getResources();
String url=String.format(resources.getString(R.string.my_url),"?","&") ;
在“%1 $ s”和“%2 $ s”的格式说明,很像是在使用printf在C“%1 $ s”的字符串,“%2 $ d”是十进制数等上。