保存到没有SD卡的设备

时间:2011-08-26 03:09:58

标签: android android-sdcard

我的朋友和我正在尝试创建一个将文件保存到设备的应用。我们使用此代码写入外部SD卡,它在他的Droid X和三星Galaxy Tab上运行良好。

获取SD卡的路径:

private static final File ROOT = Environment.getExternalStorageDirectory();

创建文件夹路径和文件:

FileWriter fw = new FileWriter(ROOT + "/test/" + "time_frames.txt");

我们正在使用文档工厂来创建文档

所以你可以看到我们创建路径然后尝试保存到刚刚创建的路径

File file = new File(ROOT + "/test/" + "time_frames.txt");

当我在Nexus S(没有SD卡)上运行它时,使用完全相同的代码时出现问题。

private static final File ROOTtest = Environment.getExternalStorageDirectory();

这会返回/ data

private static final File ROOT = Environment.getRootDirectory();

这会返回/ mnt / sdcard

private static final File intData = Environment.getDataDirectory();

这会返回/ system

我的问题是,其中哪一项适用于具有SD卡且没有SD卡的设备?我已经尝试了很多,但尝试所有这些东西真的让我很困惑。提前致谢

1 个答案:

答案 0 :(得分:6)

Environment.getExternalStorageDirectory()返回外部存储的路径,它应该适用于所有设备。他们是否有实际的SD卡并不重要,您的代码也不应该关心。在尝试使用外部存储之前,您需要确保它是可用的,因为它可以随时卸载。