我想在共享首选项中存储一个布尔数组,稍后我想访问数组元素。有人能帮我吗?多谢ADVNC。

最佳答案

存储阵列

public boolean storeArray(Boolean[] array, String arrayName, Context mContext) {

    SharedPreferences prefs = mContext.getSharedPreferences("preferencename", 0);
    SharedPreferences.Editor editor = prefs.edit();
    editor.putInt(arrayName +"_size", array.length);

    for(int i=0;i<array.length;i++)
        editor.putBoolean(arrayName + "_" + i, array[i]);

    return editor.commit();
}

加载数组
public Boolean[] loadArray(String arrayName, Context mContext) {

    SharedPreferences prefs = mContext.getSharedPreferences("preferencename", 0);
    int size = prefs.getInt(arrayName + "_size", 0);
    Boolean array[] = new Boolean[size];
    for(int i=0;i<size;i++)
        array[i] = prefs.getBoolean(arrayName + "_" + i, false);

    return array;
}

10-07 19:31
查看更多