Android 将文件与Phonegap应用程序捆绑

Android 将文件与Phonegap应用程序捆绑,android,ios,xml,file,cordova,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 = {}); option

我正在使用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数据在本地可用,而不需要internet连接。这是一款适用于游客的应用程序,他们在家时可以下载该应用程序,但只在离家时运行,不需要上网

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

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

我对这个问题的任何解决方案都持开放态度,比如
localStorage
或其他什么

我真的很感谢你的建议


注意。

您应该能够将xml文件放到phonegap应用程序的assets文件夹中,并像访问任何具有相对路径的web资产一样访问它(即:
someFile.xml
而不是
http://www.someServer/someFile.xml
)。

是的,没错,但据我所知,我无法更新放置在资产文件夹中的文件。它是只读的:(是的,这是正确的,您不能写入资产文件夹,但您要做的是使用文件API检查文件是否存在。如果不使用XHR加载XML,然后使用文件API将其写入您需要的位置。然后您将从本地文件系统加载文件,并且仍然可以通过下载新文件来更新它来自互联网。