Android如何在res/values中添加自定义xml文件以及如何在系统中注册customvalues.xml

co2*_*f2e 21 android

我想添加一个自定义xml,其中包含res/values文件夹的URL.我可以添加文件但是如何通过getResources()读取其内容?

Sud*_*hul 23

更新:这似乎不再起作用(但它曾经用过),你不能在android中创建自己的自定义类型.现在只有标准的可用资源类型可用.

因此,实现这样的事情的唯一方法是,将你的单独文件建议使用url.xml并在该文件中包含所有你的URL,这样它就不会与其他字符串混淆.它只是提高了可读性和可维护性,AFAIK.

URL项目现在看起来像,

<item name="myUrl" type="string">http://myUrl.com</item>
Run Code Online (Sandbox Code Playgroud)

你需要以通常的方式访问:

String myurl = getResources().getString(R.string.myUrl);
Run Code Online (Sandbox Code Playgroud)

原答案:

尝试这样的事情: -

url.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item name="myUrl" type="urls">http://myUrl.com</item>
</resources>
Run Code Online (Sandbox Code Playgroud)

在你的活动中,得到这样的: -

String s = getResources().getString(R.urls.myUrl);
Run Code Online (Sandbox Code Playgroud)

注意: -您无需在xml任何地方注册.只需确保它在res/values文件夹中可用.

快照: -

我怎么用

  • 对我来说 - 这个解决方案只适用于标准类型(字符串/整数等),但不适用于像'url'这样的自定义. (2认同)

Mol*_*Ice 5

  1. 创建自定义xml文件,确保它在res文件夹中(我已经通过将它放在res/values文件夹中进行了测试)
  2. 确保您在此XML中放置的所有值都是标准类型.
  3. 然后,您可以使用相应的R呼叫.例如,对于整数,您可以执行R.integer.YOUR_CUSTOM_XML_VALUE.无论此整数位于哪个xml中,只要它在res文件夹中,它就会被R注册.