android 数据库 备份还原
来源:互联网 发布:音轨对比软件 编辑:程序博客网 时间:2024/05/16 23:54
详情参考 某android平板项目开发笔记---计划任务备份
新建一个类继承 AsyncTask
public class BackupTask extends AsyncTask<String, Void, Integer> { 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) { // TODO Auto-generated method stub
// 获得正在使用的数据库路径,我的是 sdcard 目录下的 /dlion/db_dlion.db
// 默认路径是 /data/data/(包名)/databases/*.db File dbFile = mContext.getDatabasePath(Environment .getExternalStorageDirectory().getAbsolutePath() + "/dlion/db_dlion.db"); File exportDir = new File(Environment.getExternalStorageDirectory(), "dlionBackup"); 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(); } } }}
在 mainActivity 里异步加载备份、还原:
// 数据恢复 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"); }
- android 数据库 备份还原
- android 数据库 备份还原
- android 数据库 备份还原
- Android 数据库备份与还原
- android数据库本地备份还原
- 数据库备份还原
- asp 备份还原数据库
- 备份还原数据库
- 还原差异备份数据库
- 备份与还原数据库
- 备份和还原数据库
- 数据库备份与还原
- 远程数据库备份还原
- SQLDMO备份,还原数据库
- mysqldump备份还原数据库
- Delphi备份/还原数据库
- 备份和还原数据库
- 数据库备份和还原
- PB判断是否有重复数据
- MPI学习笔记——MPI环境配置
- selinux笔记
- Android 文件系统获取root权限
- 固定屏幕位置的css方法。
- android 数据库 备份还原
- 各种缩写
- LPM,参数化的宏功能模块库
- 解决ajax程序访问服务器返回的XML文件时, firebug出现: XML 解析错误问题
- 海量数据处理算法
- MPI学习笔记——MPI基本框架
- Extjs在IE报错"对象不支持此属性或方法", 而在firefox正常可用
- 影子发的渗透测试导图
- 第二章—基本类型