如何在Android中的共享首选项中添加布尔数组

jic*_*icz 2 android android-activity

我想在共享首选项中存储一个布尔数组,我想稍后访问数组元素.有人可以帮帮我吗?谢谢你.

Ram*_*ami 6

存储您的阵列

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();  
}
Run Code Online (Sandbox Code Playgroud)

加载你的阵列

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;  
}
Run Code Online (Sandbox Code Playgroud)