我在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[]
}
答案 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)
。