2012-03-15 62 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