2014-01-29 55 views
1

我有一个整数二维数组,我想将它存储在SharedPreferences中。有人可以告诉我示例代码如何做到这一点?我想如果我将它转换为字符串是可能的,但它适用于一维整数数组。也许有其他方式可以做到这一点?谢谢。如何在SharedPreferences中存储整数二维数组?

+0

您可以将二维数组转换为字符串并返回。 – Doomsknight

回答

2

正如你所说,转换为字符串,即二维数组将工作。但是,如果您遇到与更复杂对象相同的问题,则可以使用GSON库将其转换为字符串。

下载:Link

另一篇文章:Link

如果你想传递一个二维数组到字符串,您可以通过它进行迭代,同时将其存储到一个StringBuffer,因为这例如:

StringBuffer results = new StringBuffer(); 
String separator = "," 
float[][] values = new float[50][50]; 

// init values 

for (int i = 0; i < values.length; ++i) 
{ 
    result.append('['); 
    for (int j = 0; j < values[i].length; ++j) 
    if (j > 0) 
     result.append(values[i][j]); 
    else 
     result.append(values[i][j]).append(separator); 
    result.append(']'); 
} 

result.toString(); //<- Save this in your preference 
+0

但它是如何工作的二维数组?你能给我示例代码吗? –

+0

@ user3248705我已经添加了一个简单的代码来传递一个二维数组到字符串。在后退方式中,您应该查找“[”,“]”和“,”以再次填充您的数组。 – nsL

+0

非常感谢! –