Android - 将自定义对象存储在XML Resource文件中

时间:2016-11-29 11:50:28

标签: java android xml object android-resources

我在Java中有一个名为Number with 4 String attributes的自定义对象。 现在,为了创建该对象的数组,我必须用Java编写它:

Number[] numbersArray = {
    new Number("attr 1","attr 2","attr 3","attr 4");
};

我想将这些对象存储在XML资源文件中,例如:

<number-array>
    <number>
        <string>attr 1</string>
        <string>attr 2</string>
        <string>attr 3</string>
        <string>attr 4</string>
    </number>
</number-array>

有没有办法这样做?基本上,我想使用此XML资源文件填充Java文件中的numbersArray。等待回复。

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

将这些对象插入strings.xml中,如下所示: -

<integer-array name="studentIds"> // here you can defile string-array also
    <item>1</item>
    <item>2</item>
    <item>3</item>
    <item>4</item>
    <item>5</item>
    <item>6</item>
    <item>7</item>
    <item>8</item>
    <item>9</item>
    <item>10</item>
</integer-array>

现在使用以下行检索这些对象: -

getResources().getIntArray(R.array.studentIds); 
getResources().getStringArray(R.array.studentIds);

答案 2 :(得分:-1)

在res / values文件夹中的strings.xml文件中定义一个字符串变量。

<resources>
    <string name="numbers">attr 1,attr 2,attr 3,attr 4</string>
</resources>

现在检索String并在您的活动中初始化Number []数组。

String values[] = getString(R.string.numbers).split(",");
Number[] numbers = new Number[values.length];

for(int i=0; i< values.length; i++){

    numbers[i] = new Number(values[i]);
}

希望这有帮助。