我正在用 Cordova 构建一个移动应用程序。并且需要保存用户数据。
当用户没有互联网连接时,数据将保存在本地。当连接到互联网时,它应该与在线数据库同步。 设备:Windows Phone、Android、iOS。
我读过 CouchDB 和 PouchDB。现在我无法理解以下内容: iOS 只能与 WebSQL 一起使用,Windows 只能与 IndexedDB 一起使用,而 Android 则两者都可以。 如何同步 WebSQL 和 IndexedDB,以便在 iOS 上显示从 Windows Phone 插入的数据?
最佳答案
您不必担心底层数据库。您将始终在 PouchDB 或 CouchDB 中使用 JSON 文档(如 docs 中所述)。您将在任何操作系统上存储一个 JSON 文档,同步到另一个操作系统并从那里的同步数据库中获取一个 JSON 文档。
可能导致您难以理解的是 PouchDB 如何在内部保存这些 JSON 文档。 PouchDB 本身不是数据库,它使用其他数据库来存储它的数据 ( taken from the docs )。根据您运行的浏览器,IndexedDB、WebSQL 或两者都可用。查看手机图表here . Safari 只支持 WebSQL,Internet Explorer Mobile 只支持 IndexedDB,Chrome 两者都支持。如果您关心,请查看 IndexedDB 的 caniuse和 WebSQL还有。
如果需要在每个操作系统上使用相同的底层数据库,您可能希望使用 SQLite 数据库和 Dave 提到的相应适配器。
关于android - 从 IndexedDB 和 webSQL 从 Cordova 同步数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41504007/