2011-12-16 41 views
2

有谁知道是否可以使用Sencha Touch在本地设备上从互联网上保存媒体?从我目前看到的内容来看,我知道在设备上本地保存XML或JSON数据是绝对有可能的,但我没有找到在本地存储媒体的方法。Sencha触摸并保存本地媒体

更具体地说,我正在寻找一个应用程序,为用户提供一系列音频研讨会,比如播客。用户将能够直接从互联网流式传输这些音频文件,但我还需要为用户提供稍后保存剧集/研讨会的能力。这对于用户旅行时并且没有可靠的互联网连接或数据计划很重要。

主要交付设备将在iOS(iPhone,iPad,iPod Touch)上,我希望能够在Android设备上使用相同的技术 - 但这将是次要阶段。

如果这是可能的,我将如何去节约材料?如果有的话,会有什么限制呢?任何想法都将不胜感激。

回答

3

我用Sencha Touch 1和PhoneGap做了一些类似的东西来制作混合应用程序。

基本上,我使用Sencha Touch来下载JSON等和LocalStorage来存放数据。 Sencha Touch不支持将媒体/文件/等下载到实际设备,因为框架无法访问文件系统。

然后,我使用PhoneGap的API接入设备的本机文件系统,并将文件下载到应用程序的Documents目录,并将文件名/路径传递给Sencha Touch以供在应用程序中使用。

我假设你正在寻找基于你的问题创建一个混合应用程序,但如果这是一个严格的网络应用程序,那么你可以做的并不多。

为了增加上述要点,您可能需要base64对文件进行编码并将其存储在LocalStorage中,但这不是可持续模式,因为LocalStorage仅为您提供5mb的空间。如果超过5MB,则会提示用户(是,否)以允许LocalStorage使用更多空间(以5mb为增量)。由于您参考的文件有可能达到5mb,因此您可以看到这对您和用户来说很快就会变得难以管理。

编辑: 为本地包装 http://blog.clearlyinnovative.com/post/2056122828/phonegap-plugin-for-downloading-url-all-the-code为PhoneGap的下载代码

+0

非常感谢。这给了我很多希望,特别是因为已经有代码帮助我开始。我对开发混合应用程序的想法持开放态度,这就是为什么将同一应用程序移植到其他设备是次要目标。 – ar170na 2011-12-16 20:18:05