Заказав базу данных SQlite (на основе XML-ленты) - PullRequest
0 голосов
/ 01 июля 2010

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

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

Теперь у меня есть идея сделать сортировку вставкой, чтобы всякий раз, когда я вставляю запись в базу данных, она была в порядке и казалась довольно простой для реализации. Я основываю свой класс DB Helper на примере блокнота здесь http://developer.android.com/resources/tutorials/notepad/notepad-ex1.html (NotesDbAdapter). Но способ вставки новых элементов заключается в использовании ContentValues, и он просто вставляется как следующий элемент в базу данных. Как бы я вставил элементы где-то посередине, чтобы они были в порядке по дате? Или лучше, чтобы база данных была неупорядоченной и при необходимости просто размещать ее вне базы данных?

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

Спасибо

1 Ответ

1 голос
/ 01 июля 2010

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

Cursor c = db.query("CONCERTS", new String[]{"venue", "artist", "date"},
     null, null, null, null, "date"/*orderBy*/);

Также.Насколько велики эти файлы?Может быть проще просто загружать xml каждый раз и не беспокоиться о сохранении в базе данных.

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