【问题标题】:Saving to device with no SD card保存到没有 SD 卡的设备
【发布时间】:2011-08-26 11:41:34
【问题描述】:

我和我的朋友正在尝试创建一个将文件保存到设备的应用程序。我们使用此代码写入外部 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 卡的设备?我已经尝试了很多,但是尝试所有这些东西真的让我很困惑。提前致谢

【问题讨论】:

  • MORE 我认为它不起作用的原因是由于某种原因我们没有正确调用 Nexus S 上的存储。这就是我尝试不同位置的原因。

标签: android android-sdcard


【解决方案1】:

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

【讨论】:

  • 我也有同样的问题,这个答案根本没有回答问题
  • 开发者应该如何处理它的状态?
猜你喜欢
  • 1970-01-01
  • 2014-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-21
  • 1970-01-01
  • 2021-01-07
  • 1970-01-01
相关资源
最近更新 更多