我已将我的应用程序的所有数据放在SD卡上的目录和子目录中,使用File对象和各种FileReaders / Writers和BufferedReaders / Writers。
我想到并非所有设备都有SD卡,所以我现在有4个问题。
有没有人知道目前运行android的手机有多少百分比没有实现SD卡?
有没有一种方法可以让我自己操纵手机内存(应用程序目录)的文件结构与我在SD卡上的原因相同?
我是否必须重新实现我的所有代码才能使用openFileOutput()而不是createNewFile()复制我的应用中的SD卡文件行为?
为什么SD与应用程序目录的文件访问权限差别在哪?
答案 0 :(得分:1)
1)有没有人知道大概有多少百分比的Android手机目前没有实现SD卡?
即使手机可以支持SD卡,也不意味着 支持它在给定时刻,因为SD卡可以移除或安装到PC访问或有数百个其他原因。所以,不要在那里放任何重要的东西。
2)有没有一种方法可以让我自己操纵手机内存(应用程序目录)的文件结构与我在SD卡上的原因相同?
内部存储器文件不能具有任何层次结构,如果您的文件名中包含路径分隔符,则openFileOutput()
会出现异常。除此之外,您可以在/data/data/com.your.app/files
目录中放置的文件数量没有限制。并且您不需要任何特定权限来创建/打开文件。
3)我是否必须重新实现我的所有代码才能使用openFileOutput()而不是createNewFile()复制我的应用中的SD卡文件行为?
我不会。基本上,应用程序的所有小型和/或生命关键文件都会进入内部存储器,并且所有大型且非必需的文件(图像,视频?)都会进入SD卡。没有冲突,你的应用程序可以完美地启动,如果SD卡不可用,就会抱怨。