Я хочу сделать резервную копию и восстановить базу данных в своем приложении, чтобы пользователи удалили приложение и снова установили его, они могут восстановить свои данные. Каков наилучший способ сделать это в Android Studio?Резервное копирование и восстановление базы данных android studio
1
A
ответ
1
Существует несколько типов резервных копий и восстановления в вашем файле db, таком как диск Google, drop box и один диск. если вы хотите сделать резервную копию из своего локального хранилища, попробуйте выполнить приведенный ниже код.
код резервного копирования:
public void backUp() {
try {
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
if (sd.canWrite()) {
String currentDBPath = "//data//your package name//databases//dbname.db";
String backupDBPath = "dbname.db";
File currentDB = new File(data, currentDBPath);
File backupDB = new File(sd, backupDBPath);
Log.d("backupDB path", "" + backupDB.getAbsolutePath());
if (currentDB.exists()) {
FileChannel src = new FileInputStream(currentDB).getChannel();
FileChannel dst = new FileOutputStream(backupDB).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
Toast.makeText(getApplicationContext(), "Backup is successful to SD card", Toast.LENGTH_SHORT).show();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
Восстановить код:
public void restore() {
try {
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
if (sd.canWrite()) {
String currentDBPath = "//data//your package name//databases//dbname.db";;
String backupDBPath = "dbname.db";
File currentDB = new File(data, currentDBPath);
File backupDB = new File(sd, backupDBPath);
if (currentDB.exists()) {
FileChannel src = new FileInputStream(backupDB).getChannel();
FileChannel dst = new FileOutputStream(currentDB).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
Toast.makeText(getApplicationContext(), "Database Restored successfully", Toast.LENGTH_SHORT).show();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
Смежные вопросы
- 1. Резервное копирование/восстановление базы данных
- 2. Резервное копирование и восстановление базы данных realm.io
- 3. Резервное копирование и восстановление Zookeeper базы данных
- 4. Резервное копирование и восстановление части базы данных
- 5. Резервное копирование и восстановление базы данных
- 6. резервное копирование и восстановление базы данных java
- 7. Резервное копирование/восстановление базы данных приложений и настройка на Android
- 8. Резервное копирование и восстановление Ckan
- 9. Резервное копирование и восстановление MySQL
- 10. Резервное копирование и восстановление в Visual Studio
- 11. Резервное копирование и восстановление RavenDb
- 12. Резервное копирование базы данных Android
- 13. Резервное копирование и восстановление календаря
- 14. резервное копирование и восстановление зашифрованной базы данных (sqlcipher, cacheword)?
- 15. Резервное копирование и восстановление Drupal
- 16. Резервное копирование/восстановление MySQL
- 17. Резервное копирование и восстановление данных эмулятора Azure
- 18. Solrcloud Резервное копирование и восстановление индексированных данных
- 19. Резервное копирование и восстановление базы данных SQL на идентификаторе пользователя
- 20. Возможно ли резервное копирование и восстановление базы данных HSQLDB?
- 21. Резервное копирование и восстановление базы данных SQL Server filegroup
- 22. Резервное копирование и восстановление базы данных SQLCE .sdf
- 23. резервное копирование и восстановление удаленной базы данных Informix
- 24. Резервное копирование и восстановление базы данных Hsqldb через код Java
- 25. резервное копирование и восстановление базы данных mysql C#
- 26. Задачи базы данных SQL Server, отключение, резервное копирование и восстановление
- 27. Резервное копирование и восстановление разрешений
- 28. Резервное копирование и восстановление Gitlab
- 29. Резервное копирование и восстановление пакетов заданий SSIS
- 30. Резервное копирование базы данных