数据库备份
来源:互联网 发布:淘宝双11晚会直播 编辑:程序博客网 时间:2024/06/10 10:03
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.AsyncTask;
import android.os.Environment;
import android.util.Log;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
/**
* Created by Administrator on 2017/7/28.
*/
public class BackupTask extends AsyncTask<String, Void, Integer> {
//new BackupTask(this).execute("backupDatabase");
private static final String COMMAND_BACKUP = "backupDatabase";
public static final String COMMAND_RESTORE = "restroeDatabase";
private Context mContext;
public BackupTask(Context context) {
this.mContext = context;
}
@Override
protected Integer doInBackground(String... params) {
File dbFile = mContext.getDatabasePath("/data/data/"+mContext.getPackageName()+"/databases/cards.db");
File exportDir = new File(Utils.getSDPath()+"/KHDZ_Device/BackupSqlData");
if (!exportDir.exists()) {
exportDir.mkdirs();
}
File backup = new File(exportDir, dbFile.getName());
String command = params[0];
if (command.equals(COMMAND_BACKUP)) {
try {
backup.createNewFile();
fileCopy(dbFile, backup);
return Log.d("backup", "ok");
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return Log.d("backup", "fail");
}
} else if (command.equals(COMMAND_RESTORE)) {
try {
fileCopy(backup, dbFile);
return Log.d("restore", "success");
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return Log.d("restore", "fail");
}
} else {
return null;
}
}
private void fileCopy(File dbFile, File backup) throws IOException {
// TODO Auto-generated method stub
FileChannel inChannel = new FileInputStream(dbFile).getChannel();
FileChannel outChannel = new FileOutputStream(backup).getChannel();
try {
inChannel.transferTo(0, inChannel.size(), outChannel);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (inChannel != null) {
inChannel.close();
}
if (outChannel != null) {
outChannel.close();
}
}
}
}
//
// private void dataRecover() {
// // TODO Auto-generated method stub
// new BackupTask(this).execute("restroeDatabase");
// }
//
//
// private void dataBackup() {
// // TODO Auto-generated method stub
// new BackupTask(this).execute("backupDatabase");
// }
import android.content.pm.PackageManager;
import android.os.AsyncTask;
import android.os.Environment;
import android.util.Log;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
/**
* Created by Administrator on 2017/7/28.
*/
public class BackupTask extends AsyncTask<String, Void, Integer> {
//new BackupTask(this).execute("backupDatabase");
private static final String COMMAND_BACKUP = "backupDatabase";
public static final String COMMAND_RESTORE = "restroeDatabase";
private Context mContext;
public BackupTask(Context context) {
this.mContext = context;
}
@Override
protected Integer doInBackground(String... params) {
File dbFile = mContext.getDatabasePath("/data/data/"+mContext.getPackageName()+"/databases/cards.db");
File exportDir = new File(Utils.getSDPath()+"/KHDZ_Device/BackupSqlData");
if (!exportDir.exists()) {
exportDir.mkdirs();
}
File backup = new File(exportDir, dbFile.getName());
String command = params[0];
if (command.equals(COMMAND_BACKUP)) {
try {
backup.createNewFile();
fileCopy(dbFile, backup);
return Log.d("backup", "ok");
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return Log.d("backup", "fail");
}
} else if (command.equals(COMMAND_RESTORE)) {
try {
fileCopy(backup, dbFile);
return Log.d("restore", "success");
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return Log.d("restore", "fail");
}
} else {
return null;
}
}
private void fileCopy(File dbFile, File backup) throws IOException {
// TODO Auto-generated method stub
FileChannel inChannel = new FileInputStream(dbFile).getChannel();
FileChannel outChannel = new FileOutputStream(backup).getChannel();
try {
inChannel.transferTo(0, inChannel.size(), outChannel);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (inChannel != null) {
inChannel.close();
}
if (outChannel != null) {
outChannel.close();
}
}
}
}
//
// private void dataRecover() {
// // TODO Auto-generated method stub
// new BackupTask(this).execute("restroeDatabase");
// }
//
//
// private void dataBackup() {
// // TODO Auto-generated method stub
// new BackupTask(this).execute("backupDatabase");
// }
阅读全文
0 0
- 备份数据库
- 备份数据库
- 数据库备份
- 数据库备份
- 数据库备份
- 数据库备份
- 备份数据库
- 数据库备份
- 备份数据库
- 数据库备份
- 数据库备份
- 备份数据库
- 数据库备份
- 数据库备份
- 数据库备份
- 数据库备份
- 数据库备份
- 数据库备份
- R语言 3.2.* 安装 openair 遇到的问题(Linux,不用yum)
- spring data elasticsearch 中文文档
- 如何实现Activity窗口快速变暗
- 机器学习资料
- 感知机程序实现
- 数据库备份
- Java不使用BigDecimal,实现两个大数相加
- 第四版 Thinking in java 翻译的词汇
- Maven私有库和本地库的安装与配置 Sonatype Nexus + Maven
- kali 下安装npm------------bash:not found npm
- 黑盒测试
- C++ Virtual详解
- intellij IDEA 如何将MAVEN项目导成WAR包
- 生成字典序的全排列