java - Android我自己的XML资源对象类型

标签 java android xml xsd

我想在我的应用程序中保存默认对象(无法动态添加) Atm 我已经这样做了:

<integer-array translatable="false" name="batterySize">
    <item>18650</item>
    <item>18650</item>
    <item>18650</item>
    <item>18650</item>
    <item>18650</item>

    <item>18650</item>
    <item>18650</item>
    <item>18650</item>
</integer-array>
<integer-array translatable="false" name="batteryCapacity">
    <item>2100</item>
    <item>3000</item>
    <item>2900</item>
    <item>2100</item>
    <item>3100</item>

    <item>1600</item>
    <item>2100</item>
    <item>2600</item>
</integer-array>
<string-array translatable="false" name="batteryVoltage">
    <item>3.7</item>
    <item>3.7</item>
    <item>3.7</item>
    <item>3.7</item>
    <item>3.7</item>

    <item>3.6</item>
    <item>3.6</item>
    <item>3.6</item>
</string-array>

并获取此数据

int[] batterySize =getResources().getIntArray(R.array.batterySize);
    int[] batteryCapacity = getResources().getIntArray(R.array.batteryCapacity);
    String[] batteryVoltage = getResources().getStringArray(R.array.batteryVoltage);

并将这个原始数组转换为我的对象数组

List<Battery> batteryList = new ArrayList<>();
    for(int i=0;i<batterySize.length;i++){
        batteryList.add(new Battery(batterySize,batteryCapacity,batteryVoltage));
    }

有什么方法可以像这样存储这个对象:

<Battery>
    <battery_size>18650</battery_size>
    <battery_capacity>3100</battery_capacity>
    <battery_voltage>3.7</battery_voltage>
</Battery>
<Battery>
    <battery_size>18650</battery_size>
    <battery_capacity>2900</battery_capacity>
    <battery_voltage>3.6</battery_voltage>
</Battery>

最佳答案

我希望,最简单的解决方案是将所有三个电池参数放入带有分隔符的一个字符串中,例如

<string-array translatable="false" name="batteries">
    <item>18650;2900;3.6</item>
</string-array>

之后,为 Battery 类创建一个构造函数来接受该字符串作为输入,并将其拆分并解析以构造一个对象。

关于java - Android我自己的XML资源对象类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33744616/

相关文章:

android - 混合依赖版本

xml - 是否可以使用 XSLT 对 XML 文档进行颜色编码和格式化?

java - 对小整数数组进行排序的最佳排序算法是什么?

java - 在运行时编辑 JavaFX CSS

java - ant 之前的目标

eclipse中java转android错误

android - 为什么我不能在我的 ListFragment 中使用 setListShown?或者如何在从异步任务加载列表时显示进度指示器?

java - mvn包不包含xml

java - JAXB如何嵌套几个对象?

java - 如何使用 Jackson 从 yaml 文件创建 map ?