標籤:android
如果要數組資料(如boolean[] 、int[]等)到SharedPreferences時,我們可以先將數組資料群組織成json資料存放區到SharedPreferences,讀取時則對json資料進行解析就ok了。
例如,我要儲存boolean[] 數組資料:
public static void saveApkEnalbleArray(Context context,boolean[] booleanArray) {SharedPreferences prefs = context.getSharedPreferences(APK_ENABLE_ARRAY, Context.MODE_PRIVATE);JSONArray jsonArray = new JSONArray();for (boolean b : booleanArray) {jsonArray.put(b);}SharedPreferences.Editor editor = prefs.edit();editor.putString(APK_ENABLE_ARRAY,jsonArray.toString());editor.commit();}
讀取資料:
public static boolean[] getApkEnableArray(Context context,int arrayLength){SharedPreferences prefs = context.getSharedPreferences(APK_ENABLE_ARRAY, Context.MODE_PRIVATE);boolean[] resArray=new boolean[arrayLength]; Arrays.fill(resArray, true);try { JSONArray jsonArray = new JSONArray(prefs.getString(APK_ENABLE_ARRAY, "[]")); for (int i = 0; i < jsonArray.length(); i++) { resArray[i] = jsonArray.getBoolean(i); }} catch (Exception e) { e.printStackTrace();} return resArray;}
當儲存一些複雜的對象數組時,可以用gson來處理json和object的相互轉換。
【android】儲存數組資料到SharedPreferences