我已经构建了一个应用程序,现在我想使用我的新备份应用程序复制正在运行的应用程序的数据库。我做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来共享数据库控制。你为什么要复制它? – drulabs
我想复制它因为我的应用程序发送数据库到服务器,但它目前不发送一些数据将被上传到网络,所以我需要该数据库复制到SD卡,以便我可以通过邮件发送 – Trikaldarshi