2012-09-02 8 views
15

estoy tratando de almacenar una dirección URL completa, con también consultar params:Android: ¿Cómo almacenar la URL en el archivo de recursos string.xml?

www.miosito.net?prova&reg=bis 

pero está causando un problema porque &reg es similar a ® entidad y androide dime eso y entidad HTML no está bien escrito.

Lo necesito porque cada configuración regional usa un conjunto completamente diferente de parámetros de consulta de URL.

Intenté con [[CDATA[.. ]] pero esta sintaxis no me gustó por el analizador xml.

Respuesta

12

El problema no es con &req pero con & sí. Para XML/HTML, debe usar la entidad & (o &), pero para las URL debe codificar URL (see docs) y, en ese caso, dicha & debe reemplazarse por %26. Por lo que su cadena final debe ser similar:

www.miosito.net?prova%26reg=bis~~V~~3rd

+1

gracias.¡Simplemente funciona! – realtebo

1

Usted puede incluir su dirección URL entre comillas dobles, algo así como:

<string name="my_url">"www.miosito.net?prova&reg=bis"</string> 

Esta es una forma recomendada de encerrar recursos de cadenas en Android.

Actualización 1: Tener una mirada en el siguiente enlace para más información:

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

Actualización 2: @ WebnetMobile.com: Así es, en efecto :) '&' está siendo tratado de una especial carácter por xml y adjuntar entre comillas no funciona. Probé
www.miosito.net?prova%26reg=bis

y tampoco funcionó. Incluso traté de adjuntarlo entre comillas, pero aún así no funcionó. Me estoy perdiendo de algo ?
Mientras tanto, a continuación se hace el trabajo:

<string name="my_url">www.miosito.net%1$sprova%2$sreg=bis</string>

y luego en código:

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

El '% 1 $ s' y '% 2 $ s' especificadores de formato son, muy parecido a lo que se usa en printf en C. '% 1 $ s' es para cadenas, '% 2 $ d' es para números decimales y así sucesivamente.

+1

no funcionará: "La referencia a la entidad" reg "debe terminar con ';' delimitador. "; –

4

tienda de esta manera:

<string name="my_url">"www.miosito.net?prova&amp;reg=bis"</string> 

Dónde &amp; es el equivelant XML del símbolo ampersand &.

Cuestiones relacionadas