Android 将SQLite db复制到存储设备以进行备份
我有一个应用程序,其中我正在更新我的SQLite db文件,但每次用户卸载此应用程序时,此db文件都会被删除,并在重新安装时创建一个新的db文件。我想在每次更新后将此db文件复制到micro SD卡,以便卸载后能够访问我的数据库 目标 每次更新数据库文件时复制Android 将SQLite db复制到存储设备以进行备份,android,sqlite,backup,Android,Sqlite,Backup,我有一个应用程序,其中我正在更新我的SQLite db文件,但每次用户卸载此应用程序时,此db文件都会被删除,并在重新安装时创建一个新的db文件。我想在每次更新后将此db文件复制到micro SD卡,以便卸载后能够访问我的数据库 目标 每次更新数据库文件时复制 创建时说出text.db 现在我想把这个db文件复制到micro SD卡上 正在更新此数据库文件(应用程序数据库文件) 现在将此db文件复制并替换到micro sd卡 将数据库复制到SD卡的Sudo代码。要将其复制回去,只需反转流即可
将数据库复制到SD卡的Sudo代码。要将其复制回去,只需反转流即可
public boolean copyDatabase() {
String SDCardPath = Environment.getExternalStorageDirectory().getAbsolutePath();
// Create the directory if neccesary.
File directory = new File(SDCardPath + <PATH TO SD-CARD SAVE LOCATION>);
if (!directory.exists())
directory.mkdir();
// Close the database before trying to copy it
database.close();
// Copy database to SD-card
try {
InputStream mInput = new FileInputStream(<PATH TO DATABASE ON PHONE>);
OutputStream mOutput = new FileOutputStream(SDCardPath + <PATH TO SD-CARD SAVE LOCATION>);
byte[] buffer = new byte[1024];
int length;
while ((length = mInput.read(buffer)) > 0) {
mOutput.write(buffer, 0, length);
}
mOutput.flush();
mOutput.close();
mInput.close();
} catch (Exception e) {
}
return database.open();
}
public boolean copyDatabase(){
字符串SDCardPath=Environment.getExternalStorageDirectory().getAbsolutePath();
//如有必要,创建目录。
文件目录=新文件(SDCardPath+);
如果(!directory.exists())
mkdir()目录;
//在尝试复制数据库之前,请先将其关闭
close()数据库;
//将数据库复制到SD卡
试一试{
InputStream mInput=新文件InputStream();
OutputStream mOutput=新文件OutputStream(SDCardPath+);
字节[]缓冲区=新字节[1024];
整数长度;
而((长度=mInput.read(缓冲区))>0){
mOutput.write(缓冲区,0,长度);
}
mOutput.flush();
mOutput.close();
mInput.close();
}捕获(例外e){
}
返回database.open();
}