【发布时间】:2012-05-29 22:32:32
【问题描述】:
我已经构建了一个应用程序,现在我想使用我的新备份应用程序复制正在运行的应用程序的数据库。我通过DB_PATH + DB_NAME 使用以下值创建我的数据库路径:
DB_PATH = "/data/data/iCam.Cam/";
DB_NAME = "testdb.db";
我有将数据库从给定路径复制到 SD 卡的代码。但是,当我最初使用以下方法检查数据库时,它返回false:
public boolean checkDataBase() {
SQLiteDatabase checkDB = null;
try {
String myPath = DB_PATH + DB_NAME;
checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
} catch (SQLiteException e) {
e.fillInStackTrace();
// database does't exist yet.
}
if (checkDB != null) {
checkDB.close();
}
return checkDB != null ? true : false;
}
关于如何实现这一点的任何建议?
【问题讨论】:
-
@Rasel 的回答是正确的。您应该使用实际应用程序中的 contentProvider 来共享您的数据库控制。为什么还要复制它??
-
我想复制它,因为我的应用程序将数据库发送到服务器,但它当前没有发送一些要上传到网络的数据,所以我需要将该数据库复制到 sd 卡以便我可以发送通过邮件
标签: android android-sqlite android-database