2012-09-02 12 views
15

Ben, tam yetkili bir url depolamak çalışıyorum:Android: string.xml kaynak dosyasında nasıl url depolanır? Ayrıca params sorgulamak ile

www.miosito.net?prova&reg=bis 

ama &reg o ve html varlık iyi yazılmış söyleme! ® varlık benzer ve android olduğu için bir sorun neden oluyor.

Buna ihtiyacım var çünkü her yerel ayar, tamamen farklı bir URL sorgu param kümesi kullanıyor.

[[CDATA[.. ]] ile denedim ancak bu sözdizimi xml ayrıştırıcı tarafından beğenilmiyor. http://en.wikipedia.org/wiki/Percent-encoding Temelde böyle bir şey olur::

cevap

12

www.miosito.net?prova%26reg=bis. XML/HTML için & varlığını (veya &) kullanmanız gerekir, ancak URL'ler için URL'yi kodlamak (see docs) dizeleri ve bu durumda &'un %26 ile değiştirilmesi gerekir.

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

:

+1

Teşekkürler.Sadece çalışır! – realtebo

1

Yüzde kodlama hile yapabilirsiniz sorun değil &req ile ancak kendisi & ile

1

Sen çift tırnak, gibi bir şey içinde url çevreleyebileceğim www.miosito.net?prova%26reg=bis: Yani son dize gibi görünmelidir Bu, Android'de dize kaynaklarını kapatmanın önerilen bir yoludur.

Güncelleme 1:

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

Güncelleme 2: daha fazla bilgi için aşağıdaki bağlantıyı göz at @ WebnetMobile.com: Doğru, aslında :) '&' özel tedavi ediliyor xml ile karakter ve tırnak içine alma işlemi işe yaramaz.
www.miosito.net?prova%26reg=bis

'u denedim ve bu da işe yaramadı. Onu tırnak içine almayı denedim ama hala işe yaramadı. Bir şey mi eksik? ,

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

'% 1 $ s' ve '% 2 $ s' biçim belirteçleri: kodunda

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

ve sonra:
Bu arada, aşağıdaki çalışma yapar C 'de printf içinde kullanılanlar gibi'% 1 $ s 'dizgiler içindir,'% 2 $ d 'ondalık sayılar içindir ve böyle devam eder. Böyle

+1

işe yaramaz: "Varlık referansı" kayıt "ile bitmelidir"; sınırlayıcı ".; –

4

Store'a: &amp;ve işareti sembolü& XML eşdeğerdir

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

.