package com.github.lazylibrary.util; /** * Copyright 2014 Zhenguo Jin (jingle1267@163.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import android.content.Context; import android.os.Environment; import android.text.TextUtils; /** * 应用数据库导出工具类 * * @author jingle1267@163.com */ public final class DatabaseExportUtils { private static final boolean DEBUG = true; private static final String TAG = "DatabaseExportUtils"; /** * Don't let anyone instantiate this class. */ private DatabaseExportUtils() { throw new Error("Do not need instantiate!"); } /** * 开始导出数据 此操作比较耗时,建议在线程中进行 * * @param context 上下文 * @param targetFile 目标文件 * @param databaseName 要拷贝的数据库文件名 * @return 是否倒出成功 */ public boolean startExportDatabase(Context context, String targetFile, String databaseName) { if (DEBUG) { } if (!Environment.MEDIA_MOUNTED.equals(Environment .getExternalStorageState())) { if (DEBUG) { } return false; } String sourceFilePath = Environment.getDataDirectory() + "/data/" + context.getPackageName() + "/databases/" + databaseName; String destFilePath = Environment.getExternalStorageDirectory() + (TextUtils.isEmpty(targetFile) ? (context.getPackageName() + ".db") : targetFile); boolean isCopySuccess = FileUtils .copyFile(sourceFilePath, destFilePath); if (DEBUG) { if (isCopySuccess) { } else { } } return isCopySuccess; } }