2011-04-12 22 views
3

我的應用程序商店的一些,對於它在應用Android,刪除我的數據目錄中的文件?

/data/data/com.example.myapp/files/filehere.file 

當我的應用程序從市場最新的數據目錄中運行需要的文件,重要的是,我清除了數據目錄中的文件,並將它們更新爲剛剛下載的新軟件包中的最新版本。

我的問題是,如何以編程方式刪除相關目錄中的文件?

另外,是否有一個替代目錄,我可以將這些文件存儲在我的應用程序版本的整個生命週期中,但是一旦安裝更新就會被清除?

回答

5
File file = new File(FILEPATH); 
if(file.exists()) 
    file.delete(); 

至於你的最後一個問題,我的猜測是你必須控制升級過程。例如,爲每個版本創建一個目錄,並在用戶升級時管理其中的文件。

+0

我把它重新寫入一個recrsive函數中,通過目錄進行排序,但基本上這是正確的機制,所以我已經接受它作爲正確的答案。 – Hamid 2011-04-13 13:47:45

+0

你說得對,我應該寫清楚如何清理完整的目錄,我只專注於刪除文件。我的道歉和感謝,無論如何選擇它作爲正確的答案。如果你粘貼代碼,我會更新答案。 – Maragues 2011-04-13 14:23:32

+0

正如上面提到的註釋,如果FILEPATH引用包含文件/目錄的目錄,此方法將不起作用。要使delete()方法在目錄上工作,該目錄必須爲空。 – TheIT 2017-03-22 20:51:28

0

你可能更願意使用包裹在SQLiteOpenHelper中的database。然後,您可以使用onUpgrade函數來檢測新的應用程序版本。