我正在开发一个对图像,视频和其他资源很重的应用程序。什么是存储所有这些信息的适当位置?我可以通过编程方式看到原始文件夹可能是最容易处理的,但对此有什么正确的策略?
答案 0 :(得分:4)
Sdcard应该给你最大的空间。但是,您需要从网上下载资源,我无法想到您使用应用程序发送它们的方式,并将它们移动到SD卡。从Internet下载资源时,请确保将它们存储在以下子文件夹中:
private File getResourceFilePath(String ralativePath, Context context) {
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
return new File(context.getExternalFilesDir(null), ralativePath);
} else {
return new File(context.getFilesDir(), ralativePath);
}
}
否则,您可能会在用户设备的图库中使用资源。
答案 1 :(得分:0)
请记住,如果您将它存储在res或raw文件夹中,它将包含在您的apk文件中,这将使您的编辑和上传到游戏商店的时间更长,并且还可以使用户从Play商店下载和更新更长时间
如果媒体非常静态并且超过几个meg,请将其设置为一个zip文件,该文件可以侧面下载并存储在用户可以选择的单独文件夹中。这样,您可以更新媒体,而不是更新应用程序。
如果您沿着zip文件路线走,那么您应该查看Google Play所拥有的APK扩展文件支持。 http://developer.android.com/google/play/expansion-files.html
请注意,如果您使用扩展,其他商店(亚马逊,Nook等)仍然需要在您的应用中下载zip文件支持。
-James