我正在使用 SharedPreferences 来保存 JSONArray,然后在我没有连接到 Internet 时使用它。我应该检查保存数据的大小,因为我不想要任何大数据。我为此使用明确的方法,但我想通过控制大小来确定这一点。我的保存、加载和清除功能;
public static void saveJSONArray(Context c, String prefName, String key, JSONArray array) {
SharedPreferences settings = c.getSharedPreferences(prefName, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString(key, array.toString());
editor.commit();
}
public static JSONArray loadJSONArray(Context c, String prefName, String key) throws JSONException {
SharedPreferences settings = c.getSharedPreferences(prefName, 0);
return new JSONArray(settings.getString(key, ""));
}
public static void clearPrefs(Context c, String prefName){
SharedPreferences settings = c.getSharedPreferences(prefName, 0);
SharedPreferences.Editor editor = settings.edit();
editor.clear();
editor.commit();
}
此功能正常工作。没有问题。但我还需要一个返回所有数据大小的函数。我对其进行了调查,但找不到任何解决方案。提前致谢。