2017-01-06 23 views
0

私はCordovaでモバイルアプリケーションを構築しています。ユーザーデータを保存する必要があります。CordovaのIndexedDBとwebSQLの同期データ

ユーザーがインターネットに接続していない場合、データはローカルに保存されます。インターネットに接続すると、オンラインデータベースと同期する必要があります。 端末:Windows Phone、Android、iOS。

私はCouchDBとPouchDBについて読んだことがあります。今、私は次のことを理解することができません: iOSはWebSQL、Windowsは両方ともIndexedDBとAndroidのみで動作します。 Windowsの電話機から挿入されたデータをiOSに表示できるように、WebSQLとIndexedDBをどのように同期できますか?

答えて

1

基礎となるデータベースについて心配する必要はありません。 PouchDBまたはCouchDBのJSONドキュメント(docsに記載されているようなもの)を使用して作業します。任意のオペレーティングシステムにJSONドキュメントを保存し、別のオペレーティングシステムと同期させ、そこにある同期されたデータベースからJSONドキュメントを取得します。

PouchDBがこれらのJSON文書を内部的に保存する方法がわかります。 PouchDBはデータベース自体ではなく、他のデータベースを使用してデータを格納します(taken from the docs)。実行しているブラウザによっては、IndexedDB、WebSQL、またはその両方が使用可能です。モバイルチャートhereを参照してください。 SafariはWebSQL、Internet Explorer MobileのみIndexedDB、Chromeの両方をサポートします。気になる人はIndexedDBWebSQLのキャニユーもチェックしてください。

すべてのオペレーティングシステムで同じ基本データベースを使用する必要がある場合は、Daveと同じアダプタでSQLiteデータベースを使用することをお勧めします。

+0

説明をありがとう! – thomagron

1

cordova-sqlite-storageプラグインを使用すると、(WebViewのWebSQL/IndexedDBとは異なります)無制限のストレージを持つネイティブSQLite DBと、すべてのターゲットプラットフォームで動作する共通のWebSQLライクなインターフェイスがあります。

次に、PouchDB adapterを使用してPouchDBインターフェイスを提供できます。

関連する問題