나는 현재 버전 번호를 포함하는 JSON 객체를 반환하는 서버에 엔드 포인트를 작성하여 이와 비슷한 작업을 수행했습니다.
내 앱이로드되면 엔드 포인트에 요청을 보내고 JSON 반환 값을 기기의 localStorage 변수와 비교합니다.
JSON 반환 값이 localStorage 변수보다 크면 데이터베이스가 업데이트 된 다음 localStorage 변수가 현재 JSON 반환 값으로 업데이트됩니다.
예 :
function updateDatabase() {
$.ajax({
url: 'http://your_web_site.tdl/databaseversion/',
cache: false,
type: 'GET',
success: function(result, status, xhr) {
var currentVersion = result.version;
if(!window.localStorage.getItem('localVersion') || window.localStorage.getItem('localVersion') < currentVersion) {
//UPDATE DATABASE CODE HERE
window.localStorage.setItem('localVersion',currentVersion);
}
else{
//NO NEED TO UPDATE
}
},
error: function() {
//CANNOT GET CURRENT VERSION FROM SERVER
}
});
}
이 서버는 JSON 반환한다고 가정합니다 :
{ version: 'X' }
감사합니다, 그러나 그것은 무엇을 의미 하는가 다음 device'에서'로컬 스토리지 변수를? – candlejack
localStorage는 Cordova (및 html5 사양)에서 사용할 수있는 키/값 (문자열 전용) 저장소입니다. 'window.localStorage.setItem ('key', 'value')'및'window.localStorage.getItem ('key')'를 사용합니다. 이렇게하면 영구적 인 변수를 응용 프로그램에 저장할 수 있으며 응용 프로그램 캐시를 지우거나 응용 프로그램을 제거한 경우에만 사라집니다. –
나는 당신의 충고를 고려할 것이다. +1은 대답이 아니다. 왜냐하면'당신이 앱 캐시를 지우면 사라져 버리기 때문이다. '사용자는 마스터 클리너 나 다른 것을 사용할 수 있기 때문이다 ... – candlejack