Possible Duplicate:
Is it possible to copy database file to SD card?
我的 Android 手机上有一个数据库,我需要将信息存储到 SD 卡上。
是否可以将数据库文件以可读状态保存到SD卡上?我一直无法找到有关如何执行此操作的任何信息。我知道数据库的名称和字段等...
我找到了一些展示如何保存到 SD 卡的示例,但并不是我所需要的。
一些将数据库文件复制到 SD 卡的源代码将是完美的。
希望这个问题足够清楚。
是的。这是我使用的功能:
public void copyDBToSDCard() {
try {
InputStream myInput = new FileInputStream("/data/data/com.myproject/databases/"+DATABASE_NAME);
File file = new File(Environment.getExternalStorageDirectory().getPath()+"/"+DATABASE_NAME);
if (!file.exists()){
try {
file.createNewFile();
} catch (IOException e) {
Log.i("FO","File creation failed for " + file);
}
}
OutputStream myOutput = new FileOutputStream(Environment.getExternalStorageDirectory().getPath()+"/"+DATABASE_NAME);
byte[] buffer = new byte[1024];
int length;
while ((length = myInput.read(buffer))>0){
myOutput.write(buffer, 0, length);
}
//Close the streams
myOutput.flush();
myOutput.close();
myInput.close();
Log.i("FO","copied");
} catch (Exception e) {
Log.i("FO","exception="+e);
}
}
对于我从事的项目,我在主屏幕中放置了一个菜单选项,我可以随时从中调用此功能。然后,我将数据库移动到我的桌面并使用适用于 FireFox 的 SQLite 管理器插件将其打开。