您的位置:首页 > 移动开发 > Android开发

【android】存储数组数据到SharedPreferences

2016-07-04 17:07 525 查看
如果要数组数据(如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的相互转换。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: