Database 更新我的Cordova/Phoengap数据库时?

Database 更新我的Cordova/Phoengap数据库时?,database,cordova,sql-update,web-sql,Database,Cordova,Sql Update,Web Sql,我正在开发一个Cordova/Phonegap应用程序,其中包括一个与外部服务器(互联网)同步的数据库,数据库服务器将频繁更改,如何建议我保持应用程序的更新 我想到了两件事: 创建一个名为version.txt的文件,其中包含版本号,因此我只需要在服务器上查看该文件,如果该文件包含更大的版本号,则运行更新内部数据库 制作一个带有版本号的表格,并执行与第1项相同的操作 你给我什么建议 谢谢 我在服务器上创建了一个端点,返回一个包含当前版本号的JSON对象,从而完成了类似的工作 当我的应用程序加载时

我正在开发一个Cordova/Phonegap应用程序,其中包括一个与外部服务器(互联网)同步的数据库,数据库服务器将频繁更改,如何建议我保持应用程序的更新

我想到了两件事:

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

  • 制作一个带有版本号的表格,并执行与第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
            }
    
        });
    }
    

    谢谢,但这意味着什么:
    设备中的localStorage变量
    ?localStorage是Cordova(以及html5规范)中提供的键/值(仅字符串)存储。您可以使用
    window.localStorage.setItem('key','value')
    window.localStorage.getItem('key')
    。这允许您在应用程序中存储持久的变量,只有在清除应用程序缓存或卸载应用程序时,这些变量才会消失。在用户清除缓存(通过任何方式)的情况下,数据库也会被清除。因此,当您的检查运行时,它将以任何方式更新到最新版本。用户第一次运行应用程序时,变量为null,因此更新运行并设置变量。因此,如果使用的是清除应用程序数据,则应用程序会像第一次一样运行,检索最新数据并再次设置变量。即使是本机应用程序也是如此。我提供的示例将按预期工作。localStorage没有作用域,并且是全局可访问/可写的。对于首次使用load to work,您将不希望在示例中以外的任何地方定义它。语句
    if(!window.localStorage.getItem('localVersion')| | window.localStorage.getItem('localVersion')
    正在检查变量是否还不存在或是否确实存在,检查值是否不匹配。在任何一种情况下,变量都将被设置(第一次或更新)为最新版本号。
    { version: 'X' }