Как заменить БД SQLite - PullRequest
       4

Как заменить БД SQLite

3 голосов
/ 07 сентября 2011

Есть ли способ заменить полную БД SQLite?Я смотрю на создание приложения, которое содержит много данных, и мне нужно иметь возможность его обновить.К счастью, я могу убедиться, что структура БД не изменится, только данные.Есть ли чистый способ сделать это?

- РЕДАКТИРОВАТЬ -

Извинения - мне нужно добавить более подробную информацию:

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

Я думаю, что БД обычно хранится в "/ data / data / YOUR_PACKAGE / database /", у меня есть доступ к этому каталогу?В этом случае я могу загрузить файл с сервера и скопировать его поверх (очевидно, убедившись, что к файлу нет доступа первым и т. Д.)

Ответы [ 3 ]

2 голосов
/ 13 октября 2011

Этот вопрос совпадает с моим: Можно ли загрузить базу данных SQLite на / sdcard и получить к ней доступ из моего приложения для Android?

File dbfile = new File("/sdcard/mydb.sqlite" ); 
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbfile, null);
System.out.println("Its open? "  + db.isOpen());
0 голосов
/ 07 сентября 2011

Не ясно, что вы пытаетесь сделать.

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

Если вы хотите заменить отдельные таблицы в базе данных, оставляя записи ваших приложений без изменений, вы можете удалить данные из существующей таблицы и использовать INSERT INTO для получения данных из другой базы данных. Вы также можете использовать прилагаемый инструмент командной строки и команду «.import» для загрузки из файлов CSV.

0 голосов
/ 07 сентября 2011

в классе SQLiteOpenHelper является методом onUpgrade, и если через конструктор передается новая версия базы данных, вызывается этот метод. Здесь вы можете удалить базу данных и создать новую, или вы можете изменить и создать таблицы.

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