哪种方式最好将文件保存在外部存储...
一个)new File(Enviroment.getExternalStorageDirectory(), "")
b)new File("/mnt/sdcard/","")
哪种方式最好将文件保存在外部存储...
一个)new File(Enviroment.getExternalStorageDirectory(), "")
b)new File("/mnt/sdcard/","")
Enviroment.getExternalStorageDirectory() 是将文件保存到外部存储的最佳方式。看看这个http://developer.android.com/reference/android/os/Environment.html
始终使用
Enviroment.getExternalStorageDirectory().getPath()
而不是硬编码如下...
/mnt/sdcard/
如果您选择硬编码方式,那么系统将向您显示以下消息...
Do not hardcode "/sdcard/"; use Environment.getExternalStorageDirectory().getPath() instead
另一个问题是SDCard
所有设备的文件夹名称都不相同......SDCard
在某些设备中名称不同。
在三星设备中,它被命名external_sd
,在这种情况下,硬编码方式将失败。这就是为什么以下方式是最好的......
File file = new File(Enviroment.getExternalStorageDirectory().getPath(), "");
Enviroment.getExternalStorageDirectory()
是直接访问 SD 卡的最佳公共 API。
但是,您应该考虑使用ACTION_CREATE_DOCUMENT
允许用户选择保存位置的新意图。
例如,如果一个设备有多个 SD 卡,用户可以在它们之间进行选择,或者他们可以选择任何参与存储访问框架的应用程序。
始终使用
Enviroment.getExternalStorageDirectory() in place of mnt/sdcard/