将复选框标题和状态存储为 JSON



>我将复选框标题和状态存储为JSON,具有包含这些值的JSONObject的JSONArray。

我试图将其存储为两个 JSONArrray,一个用于标题,一个用于状态,但我无法编写算法来维护这些状态以及从列表中删除任何一个。

它需要太多的代码行才能做到这一点。 创建删除包含布尔值的数组元素和其他包含字符串的元素的方法。

此外,我们不能在较旧的 API 中使用Jsonarray.remove()方法。那么,您建议如何有效地实现这一目标

注意-我不能使用 sharedPreferences,因为我正在存储包含此类数据的多行。它就像一个清单制作工具,我们可以在其中添加或删除列表项,并在完成后将其标记为完成。

我也想存储在数据库中并在需要时检索它们,我 选择 JSON,因为它可以存储为字符串并且可以解析为对象 需要时

你有很多选择。如果您使用的是数据库,只需创建一个模式,例如,

checkbox_key TEXT NOT NULL,
checkbox_value INT DEFAULT 0

您当然可以使用共享首选项。只需制定您的架构,例如,

checkbox.<checkbox-key>=<checkbox-value>

JSON 不是一个很好的选择,因为解析它是一个相对昂贵的操作。共享首选项虽然存储为 XML,但使用内存中缓存和异步写入进行了优化(请参阅Editor.apply()(。你可以用你的JSON做到这一点,但它只是重新发明轮子。

最新更新