我已經構建了一個應用程序,現在我想使用我的新備份應用程序複製正在運行的應用程序的數據庫。我做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