SQLite データベースを使用するアプリを実装しました。デバイスでアプリを実行すると、データベースはそのデバイスにのみ存在します。複数のデバイスで同じデータを使用したいのですが、できますか?
2 に答える
iCloud を使用して、デバイス間で DB をコピーできます。これを行うには 3 つの方法があります。
すべてのファイル プレゼンター調整コードを手動で実装します。これは難しいことですが、既存の読み取り/書き込みコードは同じままです。
DB を UIDocument にラップします。これははるかに簡単ですが、sqlite ファイルを保存およびロードするための既存のコードを変更する必要があります。競合は、データベースごとのレベルで解決されます。
Core Data を使用するように DB コードを移植し、UIManagedDocument を使用します。コードベース全体が変更されますが、競合ははるかに低いレベルで解決されます。
iCloud、 Beginning iCloud and iCloud、UIDocument: Beyond the basicsに関する Ray Wenderlich のチュートリアル シリーズを心からお勧めします。
データを保存するためのデータベースサーバーと、データベースサーバーからデータベースサーバーにデータを保存/フェッチするロジックを備えたWebサービスが必要です。そのWebサービスを使用して、データベースサーバーとAndroidデバイス間で通信できます。
Android側では、KSoapを使用してWebサービスを利用できます。こちらの例をご覧ください。