Как сохранить информацию базы данных в файл в Android? - PullRequest
1 голос
/ 19 мая 2011

У меня есть приложение, которое использует предварительно составленную базу данных для составления списка событий. Приложение позволяет людям сохранять эти события в своих избранных, установив «1» в столбце «Избранное». Затем пользователь может просматривать только список «избранных» событий, который ищет все строки, имеющие isFavorite = 1.

Если какие-либо изменения произошли с событиями или мне нужно добавить больше в список, я должен внести эти изменения, а затем отправить обновление в приложение, которое полностью записывает поверх таблицы, удаляя их избранное.

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

Если есть какие-то иные лучшие решения этой проблемы, я был бы очень признателен, пока это было для меня самым большим препятствием.

Ответы [ 3 ]

1 голос
/ 19 мая 2011

Полагаю, у вас есть SQLiteOpenHelper -класс?Этот класс должен быть расширен, а затем предоставляет две функции: onCreate (которая вызывается, когда запрашивается база данных, а она не существует (обычно она создает базу данных в первую очередь)) и onUpdate (которая запрашивается,Структура базы данных должна быть обновлена).

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

0 голосов
/ 19 мая 2011

Одним из возможных решений является резервное копирование части или всей базы данных для последующего восстановления.Я нашел это руководство довольно удобным http://www.screaming -penguin.com / node / 7749

В качестве альтернативы, вы можете сохранить их избранное как SharedPreferences.http://developer.android.com/reference/android/content/SharedPreferences.html для получения дополнительной информации об этом.

0 голосов
/ 19 мая 2011

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

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