如果要数组数据(如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的相互转换。




更多相关文章

  1. Android(安卓)MVC Demo范例参考,基本上很清晰和标准
  2. Android之异步任务AsyncTask解析XML数据
  3. Android(安卓)SimpleAdapter 的list刷新问题。
  4. 细读《深入理解 Android(安卓)内核设计思想》(五)Binder 机制 [下]
  5. android 在子线程中如何把自定义对象传到handler中处理
  6. Android(安卓)返回上一个界面刷新数据
  7. HttpPost发送JSON数据中文乱码问题。
  8. Android中Shared Preferences、Files、Network、SQLite数据库编
  9. ListView的Adapter使用 之 初学ArrayAdapter String

随机推荐

  1. 深入探究Android的WebView下载网络文件的
  2. Android中Notification的framework层讲解
  3. Android Input Framework(二)---EventHub
  4. 基于android studio开发的 opencv关于and
  5. 坑中速记整理! 使用 kotlin 写第一个 Rea
  6. android中shape,selector,layer-list的使用
  7. EditText 行间距 以及光标高度和样式
  8. 8、Android中Intent(意图)
  9. android 7.0以上获取图片工具类
  10. Android 中LayoutInflater(布局加载器)之介