studio openconnection http_ok example android xml string url

openconnection - url connection android studio



Android: ¿Cómo almacenar la url en el archivo de recursos string.xml? (4)

El porcentaje de codificación puede hacer el truco: http://en.wikipedia.org/wiki/Percent-encoding Básicamente, tendrá algo como esto: www.miosito.net?prova%26reg=bis

Estoy tratando de almacenar una URL completamente calificada, con parámetros de consulta también:

www.miosito.net?prova&reg=bis

pero está causando un problema porque &reg es similar a ® entidad y android me dicen que y la entidad html no está bien escrita.

Necesito esto porque cada configuración regional utiliza un conjunto de parámetros de consulta url completamente diferente.

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


El problema no es con &req sino con & sí mismo. Para XML / HTML tendría que usar & entidad (o & ), pero para las URL, debería más bien codificar URL ( ver documentos ) cadenas, y en ese caso dicho & debería reemplazarse con %26 . Así que tu cadena final debería verse como:

www.miosito.net?prova%26reg=bis


Guárdelo así:

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

Donde &amp; es el equivalente XML del símbolo & comercial & .


Puede incluir su url entre comillas dobles, algo como:

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

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

Actualización 1: Eche un vistazo al siguiente enlace para obtener más información:

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

Actualización 2: @ WebnetMobile.com: Correcto, de hecho :) ''&'' está siendo tratado como un carácter especial por xml y el encierro entre comillas no funciona. Probé
www.miosito.net?prova%26reg=bis

y tampoco funcionó. Incluso traté de incluirlo entre comillas pero aún no funcionó. Me estoy perdiendo de algo ?
Mientras tanto, lo siguiente funciona:

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

y luego en el código:

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

''% 1 $ s'' y ''% 2 $ s'' son especificadores de formato, 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í en.