Страницы

Поиск по вопросам

вторник, 25 февраля 2020 г.

Как переименовать SQLite базу данных?

#sqlite #android


У меня есть заполненная база с названием first_base и мне нужно ее пепеименовать
в second_base. Как это реализовать (если возможно - через Java код)?
    


Ответы

Ответ 1



Можно переименовать файл базы данных, но сначала убедиться, что подключение к БД закрыто: Вызвать в activity: private void renameDatabase() { File databaseFile = getDatabasePath("yourdb.whatever"); File oldDatabaseFile = new File(databaseFile.getParentFile(), "yourdb_old.whatever"); databaseFile.renameTo(oldDatabaseFile); } Переименовать саму бд нельзя, нужно копировать данные в новую и удалять старую: Использовав SQLiteOpenHelper, можно использовать метод createDatabaseIfRequired() в методах getReadableDatabase() getWritableDatabase(): private boolean checkOldDatabase() { Log.d(Constants.LOGTAG, "OperationDbHelper.checkDatabase"); File f = new File(DB_PATH + OLD_DB_NAME); return f.exists(); } public void createDatabaseIfRequired() throws IOException, SQLiteException { if (!checkOldDatabase()) { // сравнивать БД / удалять старую / копировать новую } }

Комментариев нет:

Отправить комментарий