Как я могу скопировать свою базу данных к sdcard автоматически в моем приложении? И позже, как я восстанавливаю его?
Вот мой код:
// Local database
InputStream input = new FileInputStream(from);
// create directory for backup
File dir = new File(DB_BACKUP_PATH);
dir.mkdir();
// Path to the external backup
OutputStream output = new FileOutputStream(to);
// transfer bytes from the Input File to the Output File
byte[] buffer = new byte[1024];
int length;
while ((length = input.read(buffer))>0) {
output.write(buffer, 0, length);
}
output.flush();
output.close();
input.close();
Как автоматически создать резервную копию моей базы данных на SD-карте в моем приложении?
Скопируйте его, используя стандартный ввод-вывод Java. Однако убедитесь, что у вас нет открытых объектов SQLiteDatabase
.
И как потом восстановить его?
Скопируйте его, используя стандартный ввод-вывод Java. Однако убедитесь, что у вас нет открытых объектов SQLiteDatabase
в старой базе данных.
Вы можете использовать getPath ()
для объекта SQLiteDatabase
, чтобы узнать, где он находится, AFAIK (не пробовал).