共享首选项(putStringSet)还是其他?

时间:2012-11-28 13:55:44

标签: android

我构建了一个简单的程序(带有10条诫命的数组字符串),稍后我创建了另一个类(索引来选择其他活动)。

我想通过保存的首选项保存此数组,因此用户在重新启动应用程序时可以从最后一点继续。

我读到putStringSet只能从api 11获得,而我还兼容版本2.3

有没有办法保存数组字符串?

谢谢!

1 个答案:

答案 0 :(得分:2)

我会使用for循环将字符串数组转换为常规字符串,并使用分隔符例如“|”并使用putString保存它。当检索它时,我会使用相同的分隔符拆分字符串并重建数组。

private String GetString(String[] array, String delimiter)
{
    StringBuilder sb = new StringBuilder();
    for(String s : array)
    {
        if(sb.length() > 0) { sb.append(delimiter);}
        sb.append(s);
    }

    return sb.toString();
}

private String[] GetArray(String input, String delimiter)
{
    return input.split(delimiter);
}

使用GetArray时要小心,因为String.split()将正则表达式假定为分隔符,因此如果使用字符“|”你必须逃脱它,例如。 GetArray(myArray,“\\ |”);希望这会有所帮助。