1

在我的应用程序中,从服务器下载大量文件。我想将它们缓存在 sdcard 中。因为我正在使用休闲 api..

context.getExternalCacheDir();

但问题是,无法将它们保存在内部 sdcard 中(即不可移动的外部存储)。它们保存在“/mnt/sdcard/external_sd/Android/data/”中。

请给我一种方法将可能的文件保存到不可移动的 android 缓存中。

问候, 斯里尼瓦斯

4

1 回答 1

1

来自 Environment.getExternalStorageDirectory 的智能感知:

"获取 Android 外部存储目录。如果该目录已被用户安装在他们的计算机上,已从设备中删除,或者发生了其他问题,则该目录当前可能无法访问。您可以使用 getExternalStorageState( )。

注意:不要被这里的“外部”这个词弄糊涂了。最好将此目录视为媒体/共享存储。它是一个文件系统,可以保存相对大量的数据,并且在所有应用程序之间共享(不强制执行权限)。传统上这是一张 SD 卡,但它也可以作为设备中的内置存储实现,与受保护的内部存储不同,并且可以作为文件系统安装在计算机上。

在具有多个“外部”存储目录(例如安全应用存储和可挂载共享存储)的设备中,该目录代表用户将与之交互的“主要”外部存储。

应用程序不应该直接使用这个顶级目录,以免污染用户的根命名空间。应用程序私有的任何文件都应放置在 Context.getExternalFilesDir 返回的目录中,如果卸载应用程序,系统将负责删除该目录。其他共享文件应放置在 getExternalStoragePublicDirectory(String) 返回的目录之一中。”

于 2011-06-28T19:19:19.263 回答