我目前正在开发一款应用程序,它可以下载一个zip文件并将一堆微小的mp3文件提取到外部存储中。 zip文件大约2.5兆。
我想知道将zip文件包含在app资源中是否更好,然后将其复制并解压缩到文件系统中。这样可以防止在zip文件下载过程中出现类似丢失连接的麻烦。我注意到一些丢失的mp3,当我检查zip文件时,最后20个左右不是它。因此,看起来系统可以成功(不幸的是)从不完整的zip文件中提取。
包括app资源中的zip文件在内的缺点显然是它将应用程序的大小增加了2.5兆。我在清单中指定了“首选外部存储”。在2.2版本之前,即8级,这是不支持的,所以我已经排除了这些手机,这可能占Android手机总数的20%或30%。但我不完全确定这是否可以保证应用程序将安装在SD卡上。
可能值得在应用程序中包含zip文件,以避免处理zip文件下载时的潜在麻烦;但如果应用程序的大小使它没有吸引力,那么这是一种缺点 - 特别是如果“偏好外部”在某些设备上不起作用。
哪个更好?欢迎提出想法。
答案 0 :(得分:1)
鉴于Android市场中有一些应用程序/游戏在40+ MB范围内,2 MB的额外下载对我来说似乎并不多。无论如何,您的用户必须以这种或那种方式下载它。在apk中或作为单独的zip文件。
现在Android市场允许您发布应用程序的更新,以便您的用户可以通过那里获取新内容。
关于首选外部存储,只是 - 偏好。如果外部存储不可用或用户将其安装在2.1手机上,则只要您的应用程序最低SDK级别为7或更低,它就会将应用程序安装到内部存储。
但是还有其他应用程序我可以想到从网站下载内容,比如android脚本(SL4A)。如果您想以这种方式更新游戏内容,我建议您创建一种机制,让您的应用程序首先发现下载的大小,然后进行下载。下载完成后,根据应该的大小验证大小。如果两者不匹配,则再次运行下载或类似的东西。
答案 1 :(得分:1)
最畅销的安卓游戏之一Gun Bros,你正在考虑的事情:小应用程序,按需下载内容。这样,他们也可以在下载内容时投放广告。此外,通过下载内容,您可以通过网络使用压缩,从而减少用户实际用于获取整个应用程序的数据总量。我认为最终这是个人偏好,但我倾向于通过网络下载。
答案 2 :(得分:1)
我建议将它包含在apk文件中。市场上的许多应用程序都是5-10 MB,游戏可能更大(我看过游戏的范围从1 MB到40 MB),所以在应用程序中添加2.5 MB不应该是一个问题,即使他们不支持安装到SD卡。 例如我的手机有2.1,因此无法安装到SD卡上,即使在安装了一堆2-5 MB应用程序后,我也没有用完空间。
如果用户没有SD卡,或者他们选择将自己移动到内部存储区,则没有“首选外部存储”并不能保证它安装在SD卡上。 / p>
重点是,向你的apk添加2,5 MB并不是任何人都会注意到或关心的,你也不应该这样做。