Android备份数据库没有结果
问题描述:
我想在我的android应用程序中使用sqlite备份我的数据库。由于这是谷歌给定的代码,但它没有显示任何结果,甚至在logcat中出现错误。它应该是什么意思?对不起我只是新的Android开发..Android备份数据库没有结果
try {
File sd = Environment.getDataDirectory();
File data = Environment.getDataDirectory();
FileChannel source=null;
FileChannel destination=null;
if (sd.canWrite()) {
String currentDBPath = "//data//" + "com.example.jes.myapplication"
+ "//databases//" + "TINDERO.DB";
String backupDBPath = "//data//" + "com.example.jes.myapplication"
+ "//databases//" + "//TINDERO_BACKUP//" + "TINDERO.DB";
File currentDB = new File(data, currentDBPath);
File backupDB = new File(sd, backupDBPath);
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 Successful!",
Toast.LENGTH_SHORT).show();
Toast.makeText(getApplicationContext(), "Hello", Toast.LENGTH_SHORT).show();
}
} catch (IOException e) {
Toast.makeText(getApplicationContext(), "Failed",Toast.LENGTH_SHORT).show();
}
}
});
答
您if (sd.canWrite())
可能会始终为false。在该块内部放置一个断点并查看它是否正在输入if
块。或者把一个其他的块,并检查。
+0
它的失败。你认为我的代码中的错误是什么?感谢您的答案btw –
介意将**完整的logcat **添加到您的问题中? –