19

クエリパラメータも使用して、完全修飾URLを保存しようとしています。

www.miosito.net?prova&reg=bis

しかし、それは問題を引き起こしています。なぜなら&reg®エンティティとアンドロイドは、htmlエンティティがうまく書かれていないことを教えてくれるからです。

すべてのロケールが完全に異なるURLクエリパラメータのセットを使用するため、これが必要です。

試してみまし[[CDATA[.. ]]たが、この構文はxmlパーサーに嫌われました。

4

4 に答える 4

17

問題はそれ自体ではなく&req&それ自体にあります。XML / HTMLの場合は、&エンティティ(または&)を使用する必要がありますが、URLの場合は、URLエンコード(ドキュメントを参照)文字列を使用する必要があります。その場合は、上記&を。に置き換える必要があり%26ます。したがって、最終的な文字列は次のようになります。

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

于 2012-09-02T16:12:20.683 に答える
6

次のように保存します。

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

アンパサンド記号&amp;に相当するXMLはどこにありますか。 &

于 2012-09-02T18:42:52.107 に答える
1

パーセントエンコーディングでうまくいくかもしれません: http: //en.wikipedia.org/wiki/Percent-encoding 基本的には次のようなものになります:www.miosito.net?prova%26reg = bis

于 2012-09-02T16:08:04.620 に答える
1

次のように、URLを二重引用符で囲むことができます。

<string name="my_url">"www.miosito.net?prova&reg=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'は、Cのprintfで使用されるものとよく似たフォーマット指定子です。'%1 $ s'は文字列用、'%2$d'は10進数用などです。の上。

于 2012-09-02T16:21:55.020 に答える