从android中的xml文件读取数组
我们可以从 android 中的 xml 文件读取字符串数组,就像这里提到的< /a>.但这只能读取简单的字符串数组。
我的问题是我们可以读取包含其他类型对象的数组吗? xml文件是这样的:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array
name="difficulty_level_names">
<item>
<name>IELTS</name>
<type>1</type>
</item>
<item>
<name>SAT</name>
<type>2</type>
</item>
................
.........
</string-array>
</resources>
UPDATE:当然,每一项可以有更多的参数。
We can read a string array from xml file in android like mentioned here. But this can only read simple string array.
My question is that can we read array containing some other type of objects. xml file is like this:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array
name="difficulty_level_names">
<item>
<name>IELTS</name>
<type>1</type>
</item>
<item>
<name>SAT</name>
<type>2</type>
</item>
................
.........
</string-array>
</resources>
UPDATE: Of course, there can be more parameters in each item..
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不,按照你提供的方式。我脑子里有两种解决方案,但都不理想。
1.
您可以创建多个数组,例如名称的字符串数组、整数的整数数组等。每个对象都将存储在这些数组中的相同索引处。它维护起来并不简单,但在仅访问对象的一个属性的情况下,它可能会更有效地存储内存。
我在: https://stackoverflow.com/a/6774856/538169
或者
2.
您可以创建一个 < a href="http://developer.android.com/guide/topics/resources/more-resources.html#TypedArray" rel="nofollow noreferrer">键入array 并在数组中包含对象的属性。您可以通过以下方式转换索引来访问该属性:
然后从 TypedArray 获取该属性。
第二种解决方案更难维护。添加另一个属性将是一场噩梦。
No, in the way you provided. I have two solutions on my mind, and both not ideal.
1.
You can create multiple arrays, for example string-array for names, integer-array for integer etc. Every object would be stored in those arrays at the same index. It's not simple to maintain but it may be more memory efficient in case of accesing only one property from object.
I described it in: https://stackoverflow.com/a/6774856/538169
Or
2.
You can create one typed array and have object's properties in the array. You could access the property through translating the index in such way:
Then get this property from TypedArray.
The second solution is much worse to maintain. Adding another property would be a nightmare.