#android
#Android
Вопрос:
На начальном этапе я установил свое приложение для Android с пустой базой данных. Затем установка создаст базу данных с именем Inventory и скопирует базу данных, уже созданную с различными таблицами с помощью SQLite browser, во вновь созданную базу данных. Через несколько дней данные будут сохранены в базе данных SQLite при запуске моего приложения.
Проблема в том, что когда я устанавливаю приложение для обновления патча с некоторыми изменениями для следующего выпуска. Моя уже запущенная база данных приложения должна остаться там. Что я могу сделать, чтобы сохранить старую базу данных при установке с новым файлом apk?
Также что, если мне нужно обновить базу данных во время обновления патча без потери данных?
Ответ №1:
Вы автоматически добавляете базу данных в хранилище Android, поэтому ее нельзя сохранить в проекте. Вы должны создать базу данных из проекта и вставить данные внутри, чтобы база данных была сгенерирована при первом запуске.
Вот отличное руководство для этого: vogella.de
И еще один: androidforbeginners.blogspot.com
Я надеюсь, что это поможет
Комментарии:
1. при использовании этого метода данные будут потеряны. Мне нужны мои уже введенные данные там сами
Ответ №2:
Вы можете проверить, существует ли база данных уже путем вызова SQLiteDatabase.openDatabase(String, SQLiteDatabase.CursorFactory, int)
. Если он выдает SQLiteException
, он не существует, и только тогда вы должны скопировать файл вашей базы данных.
Я предлагаю вам расширить SQLiteOpenHelper
класс и реализовать методы onCreate(SQLiteDatabase)
и onUpgrade(SQLiteDatabase, int, int)
, чтобы помочь управлять созданием и обновлениями вашей базы данных.