2011-07-08 40 views
3

有沒有辦法從資產文件夾直接訪問sqlite數據庫,還是總是需要首先將該數據庫複製到設備數據目錄中的應用程序數據庫文件夾?安卓數據庫從資產文件夾

(實施例 - Environment.getDataDirectory()+ 「/數據/ com.example.myapp /數據庫/ myDb.db」)

我問,因爲我有一個分貝那是相當大的(約11MB)和必須隨應用程序一起發貨。將數據庫複製到數據目錄後,應用程序將佔用兩倍的空間。我想避免這種情況。

此外,是否可以刪除應用程序安裝後的資產文件夾的內容?這將有助於節省一些空間。

謝謝

+0

你知道(當前)數據庫保存在哪裏嗎?告訴我。 –

回答

0

assets文件夾是一個編譯時間文件夾。你不能沒有複製訪問你的Linux

0

是的,你可以從資產文件夾中的數據庫中刪除文件: 您可以使用"android.resource://"+getPackageName() + "/"訪問該文件夾,然後用

File f=new File(_pathToAssestFolder,databasename); 
     if(f.exists()) 
     {f.delete(); 
     } 

,但這樣做的最後一行onCreate()函數;

試試吧

+0

據我瞭解,APK是一個無法修改的簽名zip文件。看看:http://stackoverflow.com/questions/4398523/how-we-can-remove-a-file-from-the-assets-folder-at-runtime-in-android – Sergio

相關問題