gpt4 book ai didi

android - 从文件加载数据库

转载 作者:太空狗 更新时间:2023-10-29 14:41:29 26 4
gpt4 key购买 nike

如何从 SD 卡上的文件加载 Room Android 数据库?这是保存数据库的代码:

private void saveAppDatabase() {
try {
File sd = Environment.getExternalStorageDirectory();

if (sd.canWrite()) {
String currentDBPath =
getDatabasePath("AppDatabase").getAbsolutePath();
String backupDBPath = "AppDatabase.db";
File currentDB = new File(currentDBPath);
File backupDB = new File(sd, backupDBPath);

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();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}

谢谢你的帮助!

最佳答案

要么将数据库复制回您复制它的位置,要么尝试将完全限定路径传递给 Room.databaseBuilder() 并查看是否可行。如果现有的不起作用,您可能需要创建自己的 SupportSQLiteOpenHelper.Factory。我不建议使用外部存储上的数据库,因为如果其他应用程序在您使用该文件时试图弄乱它,就会发生不好的事情。 – 共享软件

关于android - 从文件加载数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47499455/

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