iOSとAndroidの両方(電話とタブレットの両方)で動作するアプリケーションがあり、それらは異なるデバイス間でデータを同期することができます。
- この同期機能を提供するフレームワークまたはライブラリはありますか?
- そうでない場合、実装のさまざまなオプションは何ですか?
- AndroidデバイスとiOSデバイス間でアプリケーションデータを同期するためにiCloudを使用できますか?
この同期機能を提供するフレームワークまたはライブラリはありますか?
OpenMobsterクラウドプラットフォームをチェックアウトできます。Syncサービスは、AndroidデバイスとiOSデバイス間でデータの安全なレプリケーションを行います。クラウド側でJavaSyncChannelを開発し、デバイス側でDeviceAPIを使用してデータにアクセスするだけです。プロジェクトへのリンクは次のとおりです:http://openmobster.googlecode.com
完全開示:私はOpenMobsterプラットフォームのチーフエンジニアです
この同期機能を提供するフレームワークまたはライブラリはありますか?
いいえ。iCloudがAppleデバイスに提供するようなクロスプラットフォーム同期を提供するフレームワークやライブラリはありません。
そうでない場合、実装のさまざまなオプションは何ですか?
AndroidデバイスとiOSデバイス間でアプリケーションデータを同期するためにiCloudを使用できますか?
いいえ。iCloudはAppleデバイス専用です(現在、2012年7月)。
iOSについてはわかりませんが、Androidを使用すると、同期アダプターを使用してクラウド(サーバー)との間でデータを同期できます。例:
http://developer.android.com/training/cloudsync/index.html
したがって、iPhoneアプリからサーバーにデータを取得する場合は、Androidアプリと同期するだけで、その逆も可能です。
Dropbox Datastore APIは、構造データ(データベース)を同期し、APIを同期して、画像、ドキュメント、その他のファイルを同期できます。
https://www.dropbox.com/developers/datastore
https://www.dropbox.com/developers/sync
iOSとAndroidのバージョンがあります。
Orando LabsのEnduroSyncは、あなたが求めていることを正確に実行する新製品です。iOSとAndroidのクライアントがあり、さらに多くのクライアントが登場します。
完全開示:私はOrandoLabsで働いています。
EnduroSyncクライアントを使用すると、ローカルデバイス上にオブジェクトデータストアを作成できます。クライアントはかなり洗練されています-データは、サポートする各クライアントのネイティブオブジェクトとしてモデル化されます(iOSとAndroidは現在、今後さらに登場します)。クライアントはオフラインとオンラインで動作します。データはローカルでsqliteデータベースに保存されます。
モデル内のオブジェクトを変更すると、デルタがデバイスに記録されます。ある時点で、オブジェクトデータストアを「同期」できます。同期はコミット/プッシュ/プルプロセス(gitなど)を使用しますが、これはあなたには見えません。同期により、ローカルコピーがサーバー上にあるものと最新の状態になり、行った変更が送信されます。競合はタイムスタンプベースのマージを使用して解決されるため、新しいデータが古いデータで上書きされることはありません。
EnduroSyncはオンラインサービスであるため、サーバーをセットアップする必要はありません。
さまざまな方法でオブジェクトデータストアを共有できる柔軟なアクセス許可システムもあります。たとえば、ほとんどのアプリケーションには、設定、メモ、タグなど、ユーザーごとに1つ以上のオブジェクトデータストアがあります。アプリごと、ユーザータイプごと、ワイルドカードなど、さまざまな方法でオブジェクトデータストアを共有することもできます。
したがって、基本的には、クライアントSDKを使用してデバイス上のデータをモデル化します。モデリングは、デバイスのネイティブプログラミング言語の単純なオブジェクトを使用して行われます。同期サービスにサインアップすると、同期も取得されます。
c2dmは非推奨になりました:
重要:C2DMは、2012年6月26日をもって正式に廃止されました。これは、C2DMが新しいユーザーとクォータリクエストの受け入れを停止したことを意味します。C2DMに新機能が追加されることはありません。ただし、C2DMを使用するアプリは引き続き機能します。既存のC2DM開発者は、Android用Googleクラウドメッセージング(GCM)と呼ばれる新しいバージョンのC2DMに移行することをお勧めします。詳細については、C2DMからGCMへの移行に関するドキュメントを参照してください。開発者は、新しい開発にGCMを使用する必要があります。
GCMを使用する:リンク