将复选框标题和状态存储为 JSON
Storing check boxes title and state as JSON
我将复选框标题和状态存储为 JSON,并具有包含这些值的 JSONJSONObject 数组。
我试图将它存储为两个 JSONArrrays,一个用于标题,一个用于状态,但我无法编写一种算法来维护这些状态以及从列表中删除任何一个.
它需要太多代码行才能完成。
制作删除包含布尔值和其他包含字符串的数组元素的方法。
我们也不能在旧的 api 中使用 Jsonarray.remove()
方法。那么您建议如何有效地实现这一目标
注意 - 我不能使用 sharedPreferences,因为我要用这种类型的数据存储多行。它就像一个清单制作器,我们可以在其中添加或删除清单项目,并可以在完成后将其标记为完成。
I want to store in database as well and retrieve them when required, I
chose JSON as it can be stored as string and can be parsed into object
when required
你有很多选择。如果您使用的是数据库,只需创建一个模式,例如
checkbox_key TEXT NOT NULL,
checkbox_value INT DEFAULT 0
您当然可以使用共享首选项。只需制定您的模式,
checkbox.<checkbox-key>=<checkbox-value>
JSON 不是一个很好的选择,因为解析它是一项相对昂贵的操作。共享首选项虽然存储为 XML,但已通过内存缓存和异步写入进行了优化(参见 Editor.apply()
)。您可以用 JSON 做到这一点,但这只是重新发明轮子。
我将复选框标题和状态存储为 JSON,并具有包含这些值的 JSONJSONObject 数组。
我试图将它存储为两个 JSONArrrays,一个用于标题,一个用于状态,但我无法编写一种算法来维护这些状态以及从列表中删除任何一个.
它需要太多代码行才能完成。 制作删除包含布尔值和其他包含字符串的数组元素的方法。
我们也不能在旧的 api 中使用 Jsonarray.remove()
方法。那么您建议如何有效地实现这一目标
注意 - 我不能使用 sharedPreferences,因为我要用这种类型的数据存储多行。它就像一个清单制作器,我们可以在其中添加或删除清单项目,并可以在完成后将其标记为完成。
I want to store in database as well and retrieve them when required, I chose JSON as it can be stored as string and can be parsed into object when required
你有很多选择。如果您使用的是数据库,只需创建一个模式,例如
checkbox_key TEXT NOT NULL,
checkbox_value INT DEFAULT 0
您当然可以使用共享首选项。只需制定您的模式,
checkbox.<checkbox-key>=<checkbox-value>
JSON 不是一个很好的选择,因为解析它是一项相对昂贵的操作。共享首选项虽然存储为 XML,但已通过内存缓存和异步写入进行了优化(参见 Editor.apply()
)。您可以用 JSON 做到这一点,但这只是重新发明轮子。