2015-02-17 3 views
12

Я разработал Android-приложение, в котором я сохранил данные в базе данных SQLite с помощью SQLiteOpenHelper.Использование ActiveAndroid для существующего содержимого базы данных

Мне интересно, могу ли я обновить свое приложение с помощью ActiveAndroid, но так, чтобы пользовательские данные, ранее сохраненные в базе данных, были сохранены.

Возможно ли это?

+0

Вы нашли решение? – surfer190

+0

К сожалению, нет, нет; Я так долго не искал, так что все еще может быть надежда :) – deimos1988

+1

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

ответ

6

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

  1. Пользователь имеет все свои данные, хранящиеся в базе данных SQLite, и пока не обновил свое приложение. [DB = SQlite v1]

  2. При обновлении, когда пользователь обновление до следующей версии приложения прочитать все данные из старой базы данных SQLite и сохранить его в базу данных ActiveAndroid . [DB = SQLite v1 и ActiveAndroid v1]

  3. После того, как все данные были перенесены в новую базу данных ActiveAndroid, удалите все таблицы базы данных SQLite, чтобы вы не использовали дополнительное пространство для хранения, которое вам не нужно , [DB = SQLite v2 и ActiveAndroid v1]

  4. В следующей версии вы можете предположить, что пользователь полностью перенес их данные, и на этом этапе, наконец, безопасно удалить весь код, который ранее ссылался на базу данных SQLite. [DB = ActiveAndroid v2]

+1

Для обновления базы данных в следующей версии приложения создайте класс Singleton, чтобы в скопированной базе данных был только один экземпляр. Он будет легко обновляться. – hitesh141

+0

D, это имеет смысл для меня ... как вы думаете, это отвечает на ваш вопрос? – CLaFarge

Смежные вопросы