Android:如何在string.xml资源文件中存储url?

我正在尝试存储一个完全限定的url,还有查询参数:

www.miosito.net?prova&reg=bis 

但它引起了一个问题,因为&reg类似于® 实体和android告诉我,html实体写得不好。

我需要这个,因为每个语言环境使用完全不同的url查询参数集。

我尝试[[CDATA[.. ]]xml解析器不喜欢这种语法。

问题不在于&req而在于&本身。 对于XML / HTML,您必须使用& 实体(或& ),但对于URL,您应该使用URL编码( 请参阅docs )字符串,在这种情况下&应该用%26替换。 所以你的最终字符串应如下所示:

http://www.miosito.net?prova%26reg=bis

像这样存储:

 "www.miosito.net?prova&reg=bis" 

哪里&&符号 &的XML等价物。

百分比编码可以起到作用: http : //en.wikipedia.org/wiki/Percent-encoding你基本上会有这样的东西:www.miosito.net?prova%26reg =bis

您可以将您的url用双引号括起来,例如:

 "www.miosito.net?prova&reg=bis" 

这是在Android中包含字符串资源的推荐方法。

更新1:有关详细信息,请查看以下链接:

http://developer.android.com/guide/topics/resources/string-resource.html#FormattingAndStyling

更新2:@WebnetMobile.com:正确,确实:)’&’被xml视为特殊字符,并且用引号括起来不起作用。 我试过了
www.miosito.net?prova%26reg=bis

它也没有成功。 我甚至尝试用引号括起来,但仍然没有用。 我错过了什么吗?
同时,以下工作:

www.miosito.net%1$sprova%2$sreg=bis

然后在代码中:

Resources resources=getResources();
String url=String.format(resources.getString(R.string.my_url),"?","&") ;

‘%1 $ s’和’%2 $ s’是格式说明符,非常类似于在C.中的printf中使用的”%1 $ s’用于字符串,’%2 $ d’用于十进制数字,因此上。