Android 保存到没有SD卡的设备

Android 保存到没有SD卡的设备,android,android-sdcard,Android,Android Sdcard,我的朋友和我正在尝试创建一个将文件保存到设备的应用程序。我们用这段代码来写外部SD卡,它在他的DroidX和三星Galaxy标签上非常有效 获取SD卡的路径: private static final File ROOT = Environment.getExternalStorageDirectory(); 创建文件夹路径和文件: FileWriter fw = new FileWriter(ROOT + "/test/" + "time_frames.txt"); 我们正在使用文档工厂创

我的朋友和我正在尝试创建一个将文件保存到设备的应用程序。我们用这段代码来写外部SD卡,它在他的DroidX和三星Galaxy标签上非常有效

获取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();
这将返回数据

private static final File ROOT = Environment.getRootDirectory();
这将返回/mnt/sdcard

private static final File intData = Environment.getDataDirectory();
这是返回/返回系统


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

环境。getExternalStorageDirectory()
返回到外部存储的路径,它应该可以在所有设备上工作。他们是否有真正的SD卡并不重要,你的代码也不应该在意。在尝试使用外部存储之前,您需要确保外部存储可用,因为它可以随时卸载。

环境。getExternalStorageDirectory()
返回指向外部存储的路径,它应该可以在所有设备上工作。他们是否有真正的SD卡并不重要,你的代码也不应该在意。但是,在尝试使用外部存储之前,您需要确保外部存储可用,因为它可以随时卸载。

此外,我认为它无法工作的原因是,由于某些原因,我们没有正确调用Nexus S上的存储。这就是为什么我尝试了不同的位置。我认为它不起作用的原因是由于某些原因,我们没有正确调用Nexus S上的存储。这就是为什么我在不同的地点进行实验。我有同样的问题,这个答案根本没有回答这个问题,开发者应该如何处理它的状态?我有同样的问题,这个答案根本没有回答这个问题,开发者应该如何处理它的状态?