如何将String []和BigInteger []类型的数组值存储到for循环内的共享首选项中

时间:2015-04-11 03:58:03

标签: android sharedpreferences

我在for循环中收到以下数组值:

String[] array1 = new String[""];
BigInteger array2 = new BigInteger[10];

for (int i = 0; i <= count; i++) {
array1[i] //of type string array
array2[i] //of type bigint array

//Now inside same loop i want to store and retrieve those values of array
from shared preferences. Can someone tell me how to store values of array
into preference which are of type String[] and BigInteger[] 

}

2 个答案:

答案 0 :(得分:1)

如果要将整个数组数据存储在共享首选项中,则需要将共享首选项键数组作为数组的相同大小。

您可以使用逗号分隔符将所有数组数据附加到一个字符串对象&amp;存储在共享首选项中,当您获取数据时,请用逗号分隔字符串。

已更新

    String[] array1 = new String[10];
    StringBuilder array1Data = new StringBuilder();

    for (int i = 0; i <= count; i++) {

        array1Data.append(array1[i]);
        array1Data.append(",");

    }

    setSharedPreferences("KEY", array1Data.toString()); // Custom method
}

答案 1 :(得分:0)

您可以使用JSONArray array。对于插值调用array.put(String)array.put(long)。通过调用array.toString()将字符串作为String插入到首选项中。从偏好中获取 - array = new JSONArray(stringFromPreferences)。从数组获取价值 - array.getString(position)array.getLong(postion)

您还可以使用array.put(Object)(String) array.get(position)