編輯:系統備份
新建一個類繼承 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");
}
本文介紹三星Note3使用技巧——N9006、N9008、N9002如何將多媒體文件移到SD卡。之前都已經說過了,Galaxy Not
安卓手機可以支持很多的自定義系統,那麼這刷機前需要做的備份要怎麼操作呢?這是很多玩家都非常關心的,接下來就一起來看
在用電腦的時候,我們經常備份電腦裡面的重要數據,以免電腦出現問題丟失數據;在用手機時也要養成經常備份的習慣,以免手機出現意外時手機內的重要數據丟失。 步
步驟/方法 1)打開91手機助手,點擊系統維護選項卡下的備份/還原,即可打開備份還原功能窗口,根據自己的需要,勾選需要備份的內容,選擇好備份文件的保存地