Intereting Posts
Listview с arraylist, простой адаптер в android Как создать скользящий ящик с элементами меню? Как установить инструменты компоновки ограничений для Android за пределами Android Studio с помощью командной строки? ApprtcDemo с локальным сервером работает между браузерами, но не поддерживает Android для браузера Библиотека разрешает путь без файла project.properties Динамические фрагменты в Android Как использовать «Intent.FLAG_ACTIVITY_CLEAR_TASK» на устройствах с предварительной сотой? Как создать пользовательский виджет блокировки экрана (я просто хочу отобразить кнопку) BottomSheetDialog остается скрытым после увольнения путем перетаскивания Возможно несколько классов SearchRecentSuggestionsProvider в приложении для Android? Добавление диалогового окна «Прогресс» в веб-просмотре Android mediaplyer seekTo внутри onPrepared Как открыть растровое изображение в галерее в android Android – Несколько, одновременное потоковое аудио «Нет клавиатуры для id 0» – что это значит?

Android: Как хранить url в файле ресурсов string.xml?

Я пытаюсь сохранить полный URL-адрес с параметрами запроса:

www.miosito.net?prova&reg=bis 

Но это вызывает проблему, потому что &reg похож на ® Сущность и андроид говорят мне, что и html-объект плохо написан.

Мне нужно это, потому что каждый язык использует полностью другой набор параметров запроса url.

Я попытался использовать [[CDATA[.. ]] но этот синтаксис не понравился синтаксическому анализатору xml.

Solutions Collecting From Web of "Android: Как хранить url в файле ресурсов string.xml?"

Проблема не в &req а в & самом себе. Для XML / HTML вы должны использовать & Entity (или & ), но для URL-адресов вы должны использовать строки с URL-кодированием ( см. Docs ), и в этом случае указанная & должна быть заменена на %26 . Итак, ваша финальная строка должна выглядеть так:

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

Храните его следующим образом:

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

Где &amp; Является эквивалентом XML символа амперсанда & .

Процент кодирования может сделать трюк: http://en.wikipedia.org/wiki/Percent-encoding. У вас в основном есть что-то вроде этого: http://www.miosito.net?prova%26reg=bis

Вы можете заключить свой 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» являются спецификаторами формата, как и в printf в C. «% 1 $ s» для строк, «% 2 $ d» для десятичных чисел, и поэтому на.