android - 将文件与 Phonegap 应用程序 bundle 在一起

标签 android ios xml file cordova

我正在使用 Phonegap 来开发我的应用程序。我使用 Backbone.js 来实现我的逻辑。我从服务器获取 XML 文件并在我的应用程序中使用这些数据。这是负责它的代码:

var CategoryCollection = Backbone.Collection.extend({
  url:'http://www.someServer/someFile.xml',
  fetch: function(options) {
    options || (options = {});
    options.dataType = 'xml';
    Backbone.Collection.prototype.fetch.call(this, options);
  },
  parse: function(data) {
    return $(data).find('someTag').map(function() {
      return {
        code:$(this).attr('code'),
        title : $(this).attr('title'),
        value : innerHtml
      };
    }).get();
  }
});

但是,我需要找到一种方法,使这些 XML 数据在安装时可以在本地使用,而不需要互联网连接。这是一款专为游客设计的应用程序,他们可以在家中下载该应用程序,但只能在离家且无法访问互联网的情况下运行它。

所以我想使用PhoneGap File API ,但我很难理解它是如何工作的,以及我可以在哪里放置文件以便在应用程序第一次运行时访问它们。

此外,如果用户有互联网并且应用程序检测到服务器具有较新版本的 XML 文件,我希望应用程序更新本地存储的 XML。

我愿意接受任何类型的解决方案来解决此问题,例如 localStorage 或其他解决方案。

我真的很感激一些建议!

问候。

最佳答案

您应该能够将 xml 文件拖放到 PhoneGap 应用程序的 Assets 文件夹中并访问它,就像您使用相对路径访问任何 Web Assets 一样(即:someFile.xml 而不是比http://www.someServer/someFile.xml)。

关于android - 将文件与 Phonegap 应用程序 bundle 在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13786286/

相关文章:

IOS 无法从 TableView Controller 导航到另一个

xml - 从生成的 XML 中删除 'standalone="yes"'

android - 如何提高我的应用程序的增量更新效率

ios - 参数在 SOAP 服务中传递 NULL 值

android - 我的 ListView 有两种类型的 View 。如何管理?

ios - 是否可以通过捕获 QR-Code 自动连接到 WiFi?

java - 无法使用 SAXFilter 删除 SOAP 响应的命名空间

C# - 如何从 XElement 中删除 xmlns

java - 在 Android 上动画约束布局更改的最佳方式

android - 如果设置较长的文本, TextView 宽度不会改变