XML против SQLite для Android и как - PullRequest
5 голосов
/ 09 марта 2011

У меня есть несколько XML-файлов со схемами, некоторые из них довольно большие (всего около 16 МБ) с большим количеством взаимозависимостей.Я хочу использовать эти данные в моем приложении для Android.Данные будут искать часто, но очень редко меняют.

  1. Должен ли я хранить их в виде XML-файлов или преобразовать данные в базу данных sqlite?Какой из них быстрее?Является ли пространство памяти проблемой с 16 МБ на устройстве Android?

  2. Если лучше конвертировать XML-файлы в sqlite db, как мне это сделать?Я видел эту тему:

Как конвертировать XML в базу данных sqlite на платформе Android?

, которые, по моему мнению, предлагают потоковую передачу файла XMLв БД, но он говорит только об одном XML-файле.С несколькими XML-файлами, представляющими объекты с зависимостями, какую дополнительную работу я должен выполнить, например, должен ли я сначала выполнить какое-то связывание?Если так, какой инструмент лучше всего подходит для этой задачи?

Я очень плохо знаком с android dev и sqlite, поэтому любые предложения будут очень признательны.

1 Ответ

2 голосов
/ 09 марта 2011

Посмотрите на этот ответ:

Необработанные ресурсы по сравнению с базой данных SQLite

Что касается этого вопроса ...

Как преобразовать XML в базу данных sqlite на платформе Android?

... Я думаю, что не имеет смысла сериализовать XML ... это сделает вещи слишком медленными: вам придется десериализовать изатем проанализируйте XML.Итак, лучшее, что вы можете сделать, это поместить все свои данные в таблицу XML.

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

Как поместить XML в базу данных?Это зависит от структуры файлов XML ... создавайте таблицы в соответствии с информацией, имеющейся у вас в XML, включая все отношения (которые вы можете эмулировать с помощью внешних ключей и т. Д.).Я хотел бы создать сценарий или что-то для этой работы (это может быть приложение на Java, скрипт на perl, программа на python или все, что вам удобно).

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