存储数组数据到SharedPreferences

参考自长城Great的博客: http://blog.csdn.net/u011494050/article/details/38851369

如果要数组数据(如boolean[] 、int[]等)到SharedPreferences时,我们可以先将数组数据组织成json数据存储到SharedPreferences,读取时则对json数据进行解析就ok了。

保存boolean[] 数组数据:

 1 public static void saveApkEnalbleArray(Context context,boolean[] booleanArray) {  
 2     SharedPreferences prefs = context.getSharedPreferences(APK_ENABLE_ARRAY, Context.MODE_PRIVATE);  
 3     JSONArray jsonArray = new JSONArray();  
 4     for (boolean b : booleanArray) {  
 5         jsonArray.put(b);  
 6     }  
 7     SharedPreferences.Editor editor = prefs.edit();  
 8     editor.putString(APK_ENABLE_ARRAY,jsonArray.toString());  
 9     editor.commit();  
10 } 

读取数据:

 1     public static boolean[] getApkEnableArray(Context context,int arrayLength)
 2     {
 3         SharedPreferences prefs = context.getSharedPreferences(APK_ENABLE_ARRAY, Context.MODE_PRIVATE);
 4         boolean[] resArray=new boolean[arrayLength];
 5         Arrays.fill(resArray, true);
 6         try {
 7             JSONArray jsonArray = new JSONArray(prefs.getString(APK_ENABLE_ARRAY, "[]"));
 8             for (int i = 0; i < jsonArray.length(); i++) {
 9                 resArray[i] = jsonArray.getBoolean(i);
10             }
11         } catch (Exception e) {
12             e.printStackTrace();
13         }
14         return resArray;
15     }
以上内容仅代表个人理解,如有不适之处,还望不吝赐教!
原文地址:https://www.cnblogs.com/wojiaowoen/p/7421681.html