Сохранение флажков заголовка и состояния как JSON - PullRequest
0 голосов
/ 02 мая 2018

Я храню флажки заголовок и состояние как JSON, имеющий JSONArray JSONObject, содержащий эти значения.

Я пытался сохранить его как два JSONArrrays, один для заголовка и один для состояния, но я не могу написать алгоритм для поддержки этих состояний, а также удалить любой из списка.

Для этого требуется слишком много строк кода. Создание методов для удаления элементов массива, содержащих логические и другие содержащие строки.

Также мы не можем использовать метод Jsonarray.remove() в старых API. Итак, как бы вы предложили достичь этого эффективно

Примечание - Я не могу использовать sharedPreferences, так как я храню несколько строк с данными этого типа. Это похоже на создание контрольных списков, где мы можем добавлять или удалять элементы списка и пометить его как завершенный.

Я хочу сохранить в базе данных и извлекать их при необходимости, я выбрал JSON, так как он может быть сохранен как строка и может быть проанализирован в объект при необходимости

1 Ответ

0 голосов
/ 02 мая 2018

У вас есть много вариантов. Если вы используете базу данных, просто создайте схему, как,

checkbox_key TEXT NOT NULL,
checkbox_value INT DEFAULT 0

Вы, конечно, можете использовать общие префы. Просто сформулируйте свою схему как,

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

JSON - не лучший выбор, так как его анализ - относительно дорогая операция. Совместно используемые настройки, сохраненные в формате XML, оптимизируются с помощью кэша в памяти и асинхронной записи (см. Editor.apply()). Вы можете сделать это с вашим JSON, но он просто изобретает колесо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...