2

我已使用 File 对象和各种 FileReaders/Writers 和 BufferedReaders/Writers 将我的应用程序的所有数据放在 SD 卡上的目录和子目录中。

我突然想到并非所有设备都有 SD 卡,所以我现在有 4 个问题。

  1. 有谁知道目前运行Android的手机中有多少百分比不支持SD卡?

  2. 有没有一种方法可以让我自己操作手机内存(应用程序目录)的文件结构,就像我可以在 SD 卡上一样?

    • 或者 -
  3. 我是否必须重新实现我的所有代码才能使用 openFileOutput() 而不是 createNewFile() 在我的应用程序中复制 SD 卡文件行为?

  4. 为什么 SD 与应用程序目录的文件访问首先存在差异?

4

1 回答 1

1

1)有人知道目前运行Android的手机中有多少百分比不支持SD卡?

即使手机可以支持 SD 卡,但这并不意味着它给定的时刻支持它,因为 SD 卡可以被移除或安装以供 PC 访问或有数百个其他原因。所以,不要把重要的东西放在那里。

2)有没有一种方法可以让我自己操作手机内存(应用程序目录)的文件结构,就像我可以在 SD 卡上一样?

内存文件不能有任何层次结构,openFileOutput()如果您的文件名内部有路径分隔符,则会给您例外。/data/data/com.your.app/files除此之外,您可以在目录中放置多少个文件没有限制。而且您不需要任何特定权限即可在那里创建/打开文件。

3) 我是否必须重新实现我的所有代码才能使用 openFileOutput() 而不是 createNewFile() 在我的应用程序中复制 SD 卡文件行为?

我不会。基本上,应用程序的所有小文件和/或对生命至关重要的文件都进入内存,所有大的和非必要的文件(图像、视频?)都进入 SD 卡。不会有冲突,您的应用程序可以完美启动,如果 SD 卡不可用,请抱怨。

于 2012-05-11T03:38:15.157 回答