Android 将文件与Phonegap应用程序捆绑
我正在使用Phonegap开发我的应用程序。我使用Backbone.js来实现我的逻辑。我从服务器获取XML文件,并使用我的应用程序中的数据。这是对其负责的代码: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
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将其写入您需要的位置。然后您将从本地文件系统加载文件,并且仍然可以通过下载新文件来更新它来自互联网。