更新我的Cordova / Phonegap数据库时?

时间:2014-04-03 17:06:31

标签: database cordova sql-update web-sql

我正在开发一个Cordova / Phonegap应用程序,其中包含一个与外部服务器(Internet)同步的数据库,数据库服务器会经常更改,是什么建议我保持我的应用程序更新?

我想到了两件事:

  1. 创建一个名为version.txt的文件并包含版本号,因此我只需要在服务器上查看该文件,如果它包含更大的数字,则运行更新内部数据库。

  2. 制作一个带有版本号的表格,并按照第1项的规定进行操作。

  3. 你建议我什么?

    谢谢!

1 个答案:

答案 0 :(得分:1)

通过在我的服务器上创建一个返回包含当前版本号的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' }