【问题标题】:phonegap offline storage and compressionphonegap 离线存储和压缩
【发布时间】:2012-10-26 10:01:53
【问题描述】:

Phonegap 新手在这里。我的应用场景:

  1. 它需要包含一些 xml 数据(1000 个 xml blob,总共 15MB 未压缩)
  2. 用户将能够查看和编辑这些 xmls
  3. 应用程序的更新不应覆盖(可能已编辑的)xmls

问题:

  • 对于离线存储,我可以简单地使用我的应用程序的文件吗?或者我应该将那些应用程序捆绑的 xml 移动/复制到离线存储?如果有,是哪一个?
  • 由于这种类型的数据是高度可压缩的,有没有办法可以在第 1 步(初始应用程序包)和第 2 步中将它们压缩存储,以防我需要离线存储?

这些问题的解决方案需要同时兼容 iPhone、iPad 和 Android,因此需要使用 Phonegap。

【问题讨论】:

  • 您可以尝试使用可以预填充的 SQLite,一旦用户首次安装应用程序,将预填充的数据库传输到应用程序的数据文件夹中。这可以存储在手机本身或 SD 卡上。

标签: android iphone ios ipad cordova


【解决方案1】:

如果它是 15 MB 未压缩的,那么存储在您的应用程序本身中可能会太大。您可以使用phonegap storage API's 将它们存储在数据库中,但我不知道您是否可以对此数据库进行任何压缩。

我可能会使用 PhoneGap File API 将它们作为外部文件存储在手机的文件系统中:

http://docs.phonegap.com/en/2.1.0/cordova_file_file.md.html#File

它们在 ios 和 Android 平台上都得到很好的支持。

压缩方面,可以配合文件系统存储使用JSZip等JS库。我自己没有尝试过,但应该可以。

【讨论】:

  • 你的意思是15 GB还是15 MB
【解决方案2】:

在 iOS 中,您无法修改应用内的文件 但您可以简单地将它们复制到 Documents 文件夹并在那里修改它们。 如果您想压缩所有内容,您可以解压缩文件,进行更改并在修改后再次压缩。

我相信 Documents 文件夹中的文件在更新后保持不变

在 Android 中,您可以将所有内容复制到存储卡中并执行类似操作。

注意:如果您使用的是 Phonegap,则必须为 android 和 iOS 制作自定义插件

【讨论】:

    猜你喜欢
    • 2011-04-02
    • 2011-12-09
    • 1970-01-01
    • 1970-01-01
    • 2011-10-27
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多