1

I want in my app to sotre default objects (It can't be added dynamically) Atm i have done this way:

<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>

and get this data

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

and convert this primitive arrays to my object arrays

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

Is there any way to store this object like that:

<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>

?

Stanislaw Baranski
  • 1,308
  • 9
  • 18

1 Answers1

0

I hope, the easiest solution is to put all three battery parameters into one string with separator, like

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

After that, create a constructor for Battery class to accept this string as an input and split and parse it to construct an object.

Eugene Krivenja
  • 647
  • 8
  • 18