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

时间:2018-05-02 15:54:20

标签: android json checkbox storage

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

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

执行此操作需要太多代码。 制作方法删除包含boolean和其他包含字符串的数组元素。

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

注意 - 我无法使用sharedPreferences,因为我正在使用此类数据存储多行。它就像一个清单制造商,我们可以在其中添加或删除列表项,并在完成后将其标记为完整。

  

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

1 个答案:

答案 0 :(得分:0)

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

checkbox_key TEXT NOT NULL,
checkbox_value INT DEFAULT 0

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

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

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