【android】儲存數組資料到SharedPreferences,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儲存,原始碼如下
share.edit().remove("number"+arg2).remove("name"+arg2).commit();
listitem.revome(arg2);
listItemAdapter.notifyDataSetChanged();
把這幾句加到onItemClickListener裡試試
還有, 不記得SimpleAdapter有沒有直接rmove方法,如果有的話,直接使用,應該是不用調用notifyDataSetChanged();
SharedPreferences碰到要儲存數組怎辦?
儲存簡單數組的方法,這個google可以有!putIntArray(int[])putStringArray(String[])