Как мне сохранить ~ 400 пар ключ-значение для моего приложения для Android? - PullRequest
0 голосов
/ 29 мая 2019

Как лучше всего хранить ~ 400 пар ключ-значение для приложения Android? Эти значения будут установлены при первоначальной настройке приложения и после этого будут меняться крайне редко. Однако они используются один раз для каждого приложения в качестве шаблона для создания набора других объектов, которыми затем манипулируют.

В предыдущей итерации приложения я хранил эти значения в отдельной таблице sql. Сейчас я перехожу к использованию модели комнаты и переделываю большую часть кода, часть которого оценивает предыдущие решения.

Как работал предыдущий код, я импортировал пару ID и логическое значение в список объектов. Пользователь затем добавляет дополнительную информацию к этим объектам, а затем я заново сохраняю данные этих объектов обратно в отдельную, но связанную таблицу SQL.

Должен ли я хранить значения в таблице? Было бы слишком много или неэффективно использовать SharedPreferences? Есть ли лучший способ, о котором я не знаю?

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

(cartID int NOT NULL PRIMARY KEY, 
in_rotation boolean NOT NULL) ");

database.execSQL("create table " + cartlistTable + " 
(checksheetID string NOT NULL, 
cartID int NOT NULL, 
in_rotation boolean NOT NULL, 
checked boolean default 0, 
overdue boolean default 0, 
maintenance boolean default 0, 
FOREIGN KEY(checksheetID) REFERENCES checksheet(checksheetID), 
FOREIGN KEY(cartID) REFERENCES carts(cartID))");

1 Ответ

1 голос
/ 29 мая 2019

Я бы посоветовал вам держаться подальше от общих предпочтений, если вы работаете с большим объемом данных, поскольку максимальный объем данных, который может храниться в общем предпочтении, составляет 1428,51 КБ.

Также общие предпочтения хранятся в xml-файле, и в них отсутствует сильная поддержка транзакций из SQlite или Room. Общие настройки загружают все данные, считывающие все содержимое XML-файла, в память.

Сравнивая комнату и общие предпочтения, для информации, например, 400 предметов, Вы можете пойти с комнатой.

...