2012-10-15 41 views
1

我有我想要保存的文件,所以它們不能被其他應用程序訪問,並且不會被更新(不會被刪除)。在設備上私密保存數據

我的問題

我不知道哪裏來拯救他們。我知道我可以使用下面的代碼將它們保存在數據目錄中以獲取路徑,但我不確定這是否正確。

Environment.getDataDirectory(); 

我的問題

是應用程序的數據目錄中的正確的地方來存儲我的數據,或者它只是意味着系統數據?

如果不是正確的地方,你能建議在哪裏?

在此先感謝

+0

你是什麼意思「無法訪問」?給我你的應用程序,我將在30秒內使用Root Explorer獲取文件。 – Simon

+0

@Simon我的意思是一般用戶不能接近他們。 – StuStirling

回答

3

我敢肯定你已經遇到此

http://developer.android.com/guide/topics/data/data-storage.html

在你看到的內部存儲通常是一個方法,它有助於實現你的要求了。是的,你可以使用你已經證明

(OWNERACTIVITY).getFilesDir().getAbsolutePath()

應該給你那裏的應用數據被存儲的位置的功能。

+0

感謝您的回答。我忽略了'getFilesDir();'完全是我的福音。感謝您指出 – StuStirling

2

如果您將文件保存在SD卡中,則所有應用程序(使用android.permission.READ_EXTERNAL_STORAGE)都可以訪問數據。最好的地方是把它們放在你的數據目錄中。只要您的軟件包名稱和證書未更改,您的應用程序就可以訪問數據。如果你想存儲一些像圖像和音頻文件,你可以將它們存儲在SD卡中的.nomedia目錄中。但是如果你想保留一些數據文件,校驗和等,最好將它們保存在數據目錄中。即使你更新你的應用程序,你仍應該可以訪問它。

YOu can read more here