首页 > 解决方案 > 保存 10 个值的最佳实践:Shared Preferences with or without JSONObject?

问题描述

我有 10 个要保存的值(int 和 boolean),所以我可以在需要时加载它们(我同时需要不同的值,这很容易)。如果我从 10 个值中创建一个 JSONString/(JSONObject) 并将该字符串保存在 SharedPreferences 中,是否有点矫枉过正?像这样存储每个值是否更好:

editor.putInt("Volume", VolumeBar.getProgress());
editor.putInt("Difficulty", DifficultyBar.getProgress());
[...]

并像这样从 SharedPreferences 中获取它:

Volume = mPrefs.getInt("Volume", maxVolume);
Difficulty = mPrefs.getInt("Difficulty", 0);

标签: androidjsonsharedpreferences

解决方案


我认为创建具有十个变量的模型并将其转换为 JsonString 会更好,因为您只需在 SharedPref 中放置一个 strng 值,但问题是如果您想更新其中一个值,您必须检索整个对象并修改并将其设置回来在 sharedPref 中


推荐阅读