Подтвердить что ты не робот

Android Как добавить собственный XML файл в res/values ​​и как зарегистрировать customvalues.xml с помощью системы

Я хочу добавить пользовательский xml, имеющий URL-адрес в папку res/values. Я могу добавить файл, но как читать его содержимое с помощью getResources()?

4b9b3361

Ответ 1

Обновление: Теперь это больше не работает (но оно привыкло), и вы не можете создавать свои собственные пользовательские типы в android. Только теперь доступны стандартные доступные типы ресурсов.

Таким образом, единственный способ добиться чего-то подобного - иметь свой отдельный файл, как было предложено, url.xml и иметь все ваши URL-адреса в этом файле, чтобы он не смешивался с другими Строками. Это просто улучшает читаемость и ремонтопригодность, AFAIK.

Теперь элемент URL выглядит следующим образом:

<item name="myUrl" type="string">http://myUrl.com</item>

И вам нужно получить доступ обычным способом:

String myurl = getResources().getString(R.string.myUrl);

Исходный ответ:

Попробуйте что-то вроде этого: -

url.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item name="myUrl" type="urls">http://myUrl.com</item>
</resources>

И в своей деятельности сделайте так: -

String s = getResources().getString(R.urls.myUrl);

Примечание: - Вам не нужно регистрировать xml в любом месте. Просто убедитесь, что он доступен в папке res/values.

Snapshot: -

How I used

Ответ 2

  • Создайте свой собственный XML файл, убедитесь, что он находится в папке res (я протестировал это, поместив его в папку res/values)
  • Убедитесь, что все значения, которые вы размещаете в этом XML, имеют стандартный тип.
  • Затем вы можете использовать соответствующий вызов R. Например, для integer вы делаете R.integer.YOUR_CUSTOM_XML_VALUE. Не имеет значения, в каком xml это целое число находится, он будет зарегистрирован R, если он находится в папке res.

Ответ 3

Да, вы можете иметь собственный файл: я только что сделал это пару раз. 1) Создайте новый XML файл. 2) Используйте формат файла как обертку для вашего примера:

<?xml version="1.0" encoding="utf-8" ?>
<resources>
    <item name="languages">
        <languages>
            <language>
                <isocode>
                    en-UK
                </isocode>
                <name>
                    English (UK)
                </name>
            </language>
        </languages>
    </item>
</resources>