gpt4 book ai didi

android - 在 Android 中备份 SQLite 数据库

转载 作者:行者123 更新时间:2023-12-03 17:46:41 24 4
gpt4 key购买 nike

我需要在移动设备的内部存储或 SD 卡中对 SQLite 数据库进行离线备份。但我无能为力,这怎么可能。

我在 SO 上关注了许多线程,但他们建议将 DB 一个位置复制到另一个位置,这不适合我,也不适合 Google Drive .

任何指导都是宝贵的。

最佳答案

我使用了这种方法。

public string DATABASE_NAME = "YOUR DATABASE NAME HERE";

public void exportDB(){
try {
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();

if (sd.canWrite()) {
Log.d("TAG", "DatabaseHandler: can write in sd");
//Replace with YOUR_PACKAGE_NAME and YOUR_DB_NAME
String currentDBPath = "filepath here"+DATABASE_NAME;
//Replace with YOUR_FOLDER_PATH and TARGET_DB_NAME in the SD card
String copieDBPath = DATABASE_NAME;
File currentDB = new File(data, currentDBPath);
File copieDB = new File(sd, copieDBPath);
if (currentDB.exists()) {
Log.d("TAG", "DatabaseHandler: DB exist");
@SuppressWarnings("resource")
FileChannel src = new FileInputStream(currentDB).getChannel();
@SuppressWarnings("resource")
FileChannel dst = new FileOutputStream(copieDB).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
}
}
} catch (Exception e) {
e.printStackTrace();
}

}

关于android - 在 Android 中备份 SQLite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53266434/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com