android 数据库备份
来源:互联网 发布:淘宝内衣尺码怎么看 编辑:程序博客网 时间:2024/06/10 19:11
package com.n22.nci.tool;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.nio.channels.FileChannel;import android.content.Context;import android.os.AsyncTask;import android.os.Environment;import android.util.Log;/** * 数据库备份还原类 * */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(); } } }}
// 数据恢复private void dataRecover() {// TODO Auto-generated method stubnew BackupTask(panel).execute("restroeDatabase");}// 数据备份private void dataBackup() {// TODO Auto-generated method stubnew BackupTask(panel).execute("backupDatabase");}
0 0
- android 数据库 备份还原
- android 数据库 备份还原
- android 数据库备份
- android 数据库 备份还原
- ANdroid 数据库升级备份
- Android 数据库备份与还原
- android数据库本地备份还原
- Android数据库备份和恢复
- Android开发之数据库备份
- Android 实现自动备份数据库
- 备份数据库
- 备份数据库
- 数据库备份
- 数据库备份
- 数据库备份
- 数据库备份
- 备份数据库
- 数据库备份
- allegro中的文件类型
- android monkey
- c#验证码生成ashx
- hessian 序列化实现 初探
- 十一章:持有对象(1、范型和类型安全的容器)
- android 数据库备份
- 高配版GALAXY S5有五色可选 6月中旬发布
- Linux 下安装subversion 详细指南
- ios--- ios开发之asihttprequest数据离线缓存与读取
- NumPy数组(1、数组初探)
- 小知识
- kncoutjs 模板的使用
- 鹿港小镇
- android源码下载方法网址