存储卡上的资产



我有一个应用程序,它在assets文件夹中存储了大量数据(html,音频,视频等)。我使用file:///android_assets来访问这些文件。但是由于市场强加的apk大小限制为50 MB,我将把这些文件迁移到存储卡上。是否有可能在手机内存上安装应用程序,并在存储卡上拥有资产目录,以便它们仍然可以使用文件协议访问?

由于资产是apk的一部分,因此不可能将它们分开或移动到sd卡。你可以为你的应用程序启用"移动到SD卡",但这对50 MB的市场限制没有帮助。

一个解决方案是将数据文件存储在网络上,而不包括在apk中。当你的应用程序在安装后第一次启动时,你会启动一个一次性进程,将它们下载到sd卡。

一旦文件在sd卡上,您可以使用:

访问它们
file:///sdcard/<your_directory>

或者获取sd卡根目录的File引用:

File sdCard = Environment.getExternalStorageDirectory();

最新更新