当前位置: 首页 > 面试题库 >

如何从Android的xml字符串资源中检索2D数组?

钱宇
2023-03-14
问题内容

假设我已经在Android资源中存储了一个二维数组,如下所示。如何在Arraylist这样的Java集合中获取它们?

<resources>
<string-array name="countries_array">   
<item>
    <name>Bahrain</name>
    <code>12345</code>
</item>
<item>
    <name>Bangladesh</name>
    <code>54545</code>
  </item>
<item>
    <name>India</name>
    <code>54455</code>
</item>

</string-array>
</resources>

例如,在一维数组的情况下,我们可以使用

getResources().getStringArray(R.array.countries_array);

当countries_array像

<resources>
<string-array name="countries_array">   
  <item>Bahrain</item>
  <item>Bangladesh</item>
  <item>India</item>
</string-array>
</resources>

问题答案:

<string-array>资源文件的元素只能用于一维数组。换句话说,介于<item>和之间的所有内容都</item>被视为单个字符串。

如果你想存储你所描述的方式(有效伪XML)的数据,你需要获得项目作为一个单一的String[]使用getStringArray(...)和解析<name><codes>元素自己。

我个人可能会使用分隔格式,例如…

<item>Bahrain,12345</item>

…然后使用split(...)

或者,将每个定义<item>为JSONObject,例如…

<item>{"name":"Bahrain","code":"12345"}</item>


 类似资料:
  • 问题内容: 我需要将资源ID传递给我的一个类中的方法。它既需要使用引用指向的id,也需要使用字符串。我应该如何最好地做到这一点? 例如: 我需要获取它的整数ID,但是我还需要访问字符串“ icon”。 如果我只需要传递给该方法的是“ icon”字符串,那将是更好的选择。 问题答案: 我不知道那个存在。 在我的项目中,我使用以下代码来做到这一点: 这样将用于获取资源整数值的值 我刚刚找到了一篇博客文

  • 在这一页上,写着: versionName —用作向用户显示的版本号的字符串。此设置可以指定为原始字符串或对字符串资源的引用。 我想使用资源作为版本号。类似于@string/version。 有什么办法? 谢谢 朱利安

  • 问题内容: 我有一个脚本,可以从SQL数据库获取XML文件。这是我的操作方法: 但是,解析不适用于特定的数据库行,尽管当我将该字段的内容复制到单独的文件中并从文件中进行解析时,解析仍然有效。经过两天的“反复试验”,我确定了主要问题。似乎以这种方式查询短的XML文件不会引起任何问题,但是当我查询较大的文件时,该字符串在65534个字符后被砍掉。因此,XML文件的末尾丢失了,并且该文件无法解析。 我认

  • 问题内容: 来自服务器的以下JSON响应 被此ngResource服务解析为2d数组 这样叫 追踪到 有什么提示吗? 问题答案: TLDR; ngResource 期望的物体或阵列 对象 中的响应。 在操作列表中将设置 为时, ngResource 模块遍历响应中收到的每个项目,并创建一个新的Resource实例。为此,Angular在收到的项目和类之间执行了深层复制,这为我们提供了具有特殊方法的

  • 升级到android Studio 3.0.1后,名称中带有$的字符串资源如下:

  • 问题内容: 我内部有一些固定的字符串,例如: 在我的布局中,我想用html格式的字符串填充。 如果执行此操作,则的内容只是剥离所有html标记的内容,因此未格式化。 我知道可以通过编程方式设置带格式的文本 因为我在程序的其他部分按预期使用它。 要调用此函数,我需要一个,但是目前,我的布局只是纯XML中的一个或多或少的简单静态视图,我宁愿以这种方式保留它,从而免去了创建just设置某些对象的开销。文