2012-03-15 58 views
1

如何將文件保存到android手機而不是SD卡?我知道,對於sdcard,你通過調用Environment.getExternalStorageDirectory()。getAbsoluteDirectory();或者無論如何,我有這樣的工作方式。但我希望能夠保存到我的電話,而我需要我的清單中的許可來做到這一點?我已經嘗試將getexternalst ....替換爲getDataDirectory,但似乎沒有工作。Android:本地保存錄音?

一如往常,請和謝謝:)

編輯---------------

03-15 21:29:26.213:W/dalvikvm( 21686):threadid = 1:以未捕獲的異常退出的線程(組= 0x2aac8578) 03-15 21:29:26.213:E/AndroidRuntime(21686):致命異常:主要 03-15 21:29:26.213:E/AndroidRuntime(21686):java.lang.RuntimeException:無法實例化活動ComponentInfo {com.alphaphonefinder/com.alphaphonefinder.Main}:java.lang.NullPointerException

回答

0

您可以使用Context#getFilesDir

要獲得完整的路徑字符串(假設this是活動):

String path = this.getFilesDir().getAbsolutePath(); 
+0

感謝您的幫助,但這會改變我的很多程序,有無論如何獲取字符串表單目錄?如果你明白我的意思,那麼將會用一種方法指出它? – 2012-03-15 21:08:27

+0

當然,看看編輯。 – MByD 2012-03-15 21:20:07

+0

唉,使應用程序崩潰:(是的它是活動 – 2012-03-15 21:22:24

0

最簡單的方法是調用Context#openFileOutput(String, int)這需要爲文件名和一個int一個字符串,指定模式並返回一個FileOutputStream中。然後在FileOutputStream上調用寫入數據的字節數組。確保在完成後關閉FOS。

編輯: 如果你只是想在內部文件目錄,嘗試Context#getFilesDir它返回一個文件,getPath()getAbsolutePath()上的文件將返回目錄作爲一個字符串。

+0

感謝幫助隊友,只是一個簡單的問題之前,我嘗試這個,是否可以使用只是一個字符串方法就像我得到sdcard的目錄的方式一樣:final String RECORDING_PATH = Environment.getExternalStorageDirectory()。getAbsoluteDirectory();有沒有這樣的事情?只會節省我很多時間recoding和東西 – 2012-03-15 21:10:26

+0

看到我上面的編輯。 – 2012-03-15 21:14:18

+0

是啊,試過那裏,但只是導致應用程序失敗悲傷 – 2012-03-15 21:25:01