2012-12-09 6 views
0

Phonegap을 사용하여 내 앱을 개발하고 있습니다. 논리를 구현하기 위해 Backbone.js를 사용했습니다. 서버에서 XML 파일을 가져 와서 내 앱의 데이터를 사용합니다.Phonegap 앱으로 파일 묶기

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 또는 다른 문제와 같은이 문제의 모든 종류의 솔루션에 공개됩니다.

정말 감사드립니다.

감사합니다.

답변

1

xml 파일을 phonegap 앱의 assets 폴더에 놓고 상대 경로 (예 : http://www.someServer/someFile.xml이 아닌 someFile.xml)가있는 웹 자산에 액세스하는 것처럼 XML 파일에 액세스 할 수 있어야합니다.

+0

네, 맞지만 이해할 수는 있지만, assets 폴더에있는 파일은 업데이트 할 수 없습니다. 읽기 전용 : – GeRyCh

+1

예, 저작물 폴더에 쓸 수는 없지만 File API를 사용하여 파일이 있는지 확인하는 것입니다 .XHR을 사용하여 XML을로드하지 않은 경우 File API를 사용하여 필요한 위치에 파일을 작성한 다음 로컬 파일 시스템에서 파일을로드하고 인터넷에서 새 파일을 다운로드하여 업데이트 할 수 있습니다. –

관련 문제