2017-04-13 120 views
0

我正在用Android Studio構建一個Android應用程序。我將數據存儲在SQLite數據庫中。我可以毫無問題地在這個數據庫上執行查詢。我如何更新Android應用程序中的SQLite數據庫?

但是,我需要在線更新數據庫。爲此,我從SFTP(與JSch的連接)中獲取它,並希望用SFTP中的新協議替換舊的(在應用程序中)。事實是,我無法在應用程序中找到數據庫的路徑。

我想:

String destinationPath = _currenContext.getDatabasePath("database.db").toString(); 

而且

String destinationPath = "data/data/" + _currenContext.getPackageName() + "/databases/database.db"; 

而且當我打印我第一個得到這個路徑:

data/user/0/com.myApp.android/databases/database.db 

他們都沒有達到我的數據庫:總是得到「沒有這樣的文件或目錄」。

有人可以幫助我嗎? :)

回答

0

嘗試使用,而不是文件對象的toString()方法的getAbsolutePath()方法:

String destinationPath = _currenContext.getDatabasePath("database.db").getAbsolutePath(); 
+0

許多搜索後,並試圖瞭解SQLite的工作方式在Android上我發現,數據庫存儲在tha apk安裝。如果你不打開數據庫或進行任何查詢,數據庫將保存在apk中。 因此,您需要至少製作一個查詢,以便從apk中提取SQLite數據庫並將其放置在良好的文件夾中。 感謝您的回答,無論.getAbsolutePath()和.toString()方法的作品! –

相關問題