Android 如何从托管在Google Drive或任何其他服务器上的db文件填充sqlite数据库
我正在创建一个问答混合应用程序,因此我正在使用webSQL,目前我的应用程序还没有一个完整的数据库,它永远也不会完整。因此,我想知道我是否可以在我的google drive公用文件夹中托管一个sqlite数据库文件或该文件的转储文件,并指向应用程序下载最新的db文件并删除以前的websql数据。我不知道如何告诉websql服务器有最新版本的db,所以请下载它 我现在想的是在服务器上修改文件的日期,如果日期/时间与下载websql的日期匹配,就不要做任何事情,因为您有最新的版本。还有其他方法吗 首先,我该怎么做? 我有一个粗略的想法纠正我你认为我错了的地方Android 如何从托管在Google Drive或任何其他服务器上的db文件填充sqlite数据库,android,angularjs,sqlite,cordova,web-sql,Android,Angularjs,Sqlite,Cordova,Web Sql,我正在创建一个问答混合应用程序,因此我正在使用webSQL,目前我的应用程序还没有一个完整的数据库,它永远也不会完整。因此,我想知道我是否可以在我的google drive公用文件夹中托管一个sqlite数据库文件或该文件的转储文件,并指向应用程序下载最新的db文件并删除以前的websql数据。我不知道如何告诉websql服务器有最新版本的db,所以请下载它 我现在想的是在服务器上修改文件的日期,如果日期/时间与下载websql的日期匹配,就不要做任何事情,因为您有最新的版本。还有其他方法吗 首
- 如何在我的共享文件夹Google Drive文件夹中获取文件的修改日期?(此步骤已解决)
- 为了获取sql文件,我使用$http.get(文件的位置)//我用角的
- 如何从大文件中插入数据。如果文件很大,可能会导致一些性能问题。如何将文件插入到零件中李>
insert
查询列表(或某种csv格式)。这种更新数据的方法就是删除所有表的内容并执行文件的最新版本。数据库的二进制转储可能更小,但调试任何问题都将是一场噩梦
如果您想对数据进行版本设置,只需创建一个表并存储一行,描述最新版本或上次修改日期,如您所说
最后是关于插入性能——我猜实际的瓶颈将是下载数据,而不是插入。如果性能对应用程序至关重要,请考虑增量更新方法,而不是重新下载数据库。谷歌驱动器有API来获得文件的最后修改日期和时间,这对我现在很有用处。对于较小的更改,增量更新将是最好的,但对于模式的完全更改,完整数据库下载将是最好的。因此,在适当的情况下,我必须同时使用这两种方法。但是我如何管理微小的增量更改呢。很多人都在提交数据库,所以跟踪所有的更改将是一件乏味的事情。如果很多人都在提交数据库,那么您可能需要一些代码将修改后的db版本(有人的更改)推回到Google Drive,对吗?您可以在每次提交(或定期)后创建新的“增量更改”文件,而不是推送整个数据库这里我有另一个问题,如果我做增量更新,我的新应用程序用户将只获得更新,而不是旧数据。我现在决定不推小更新,而是每周/每月推一次主要更新,该更新将携带一个js文件,该文件将从头创建数据库。这将消除所有复杂的工作环境,使事情顺利进行,并使我的工作流程顺畅。虽然带宽将是一个主要问题,因为我的数据库大小将超过100mb。但是,我将拆分我的应用程序和数据库,因为我的数据库是可拆分的,用户可以下载他们想要使用的应用程序部分。如果有人有更好、更容易理解的想法,请在这里提供。