【android】存储数组数据到SharedPreferences
16lz
2021-01-26
如果要数组数据(如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(安卓)MVC Demo范例参考,基本上很清晰和标准
- Android之异步任务AsyncTask解析XML数据
- Android(安卓)SimpleAdapter 的list刷新问题。
- 细读《深入理解 Android(安卓)内核设计思想》(五)Binder 机制 [下]
- android 在子线程中如何把自定义对象传到handler中处理
- Android(安卓)返回上一个界面刷新数据
- HttpPost发送JSON数据中文乱码问题。
- Android中Shared Preferences、Files、Network、SQLite数据库编
- ListView的Adapter使用 之 初学ArrayAdapter String