2011-11-21 77 views
1

我正在開發一個內容提供者,它將數據存儲在SQLite數據庫中。在開發過程中,我需要更改模式,或者完全刪除數據庫並重建它(在開發的這個階段,我沒有升級數據庫)。ContentProvider數據庫沒有被刪除

我發現數據庫文件,存儲在/ data/data // databases/app_db。當我把它放到桌面機器上時,我可以使用SqliteSpy來查看它的內容,並且一切正常。但是,當我刪除它時,並不總是得到刪除真的。雖然我無法在DDMS或ADB中看到該文件,但我的應用程序仍然可以看到它。

我試圖確保當我刪除文件時我的應用程序和服務沒有啓動,但似乎沒有幫助。在大約一半的時間裏,我刪除了文件,我需要重新啓動模擬器才能生效。

什麼可以防止文件被真正刪除?

Itay。

回答

2

我在爲ContentProvider寫單元測試時也看到過這個問題。您需要確保您已經殺死了使用該特定數據庫文件的進程ContentProvider。只有刪除它。

+0

我試過了。我會再試一次,以確保... – zmbq

+0

我試了幾次,這次確保應用程序關閉*之前*刪除文件(昨天我想我刪除了文件,然後關閉應用程序完成)。它現在似乎工作。謝謝! – zmbq