SQLiteデータベースに多数の緯度と経度を入力するAndroidアプリがあります。次に、そのデータを外部SQLServerデータベースに保存する必要があります。私が抱えている問題は、そのファイルをWebサービスに送信することです。dbファイルを取り込んで別のSQLServerdbに格納するクラスの外観の例が見つかりません。これは私が自分の問題に取り組むべき方法でさえありますか?
2 に答える
より良いアプローチは、dbファイル全体を送信するのではなく、Webサービスを介して実際の緯度/経度データをdbに送信することです。
このようにすると、いくつかのことが達成されます。
- 実装ははるかに簡単なはずです
- サーバー側でSQLiteをサポートする必要はなく、クライアントだけをサポートする必要があります
- 「セットアップ」されたデータは、使用する前にSQLiteデータベースファイルから抽出する必要はなく、すぐにクエリに使用できます。
編集:アップロードする頻度と量は完全にあなた次第です。ユーザーがアクティブにするか、一定の時間間隔で最新のデータをまとめてアップロードするか、最新の状態になるまで一度に1つずつアップロードすることができます。いずれの場合も、タイムスタンプを使用してアップロードする必要のあるデータを追跡します。
「一括」転送するための簡単な方法の1つは、SQLite dbから保存する必要のあるデータをプルし、サーバー上で緯度/経度データのコレクションとして解釈されるJSONまたはXMLオブジェクトに配置することです。これにより、「最新の」レコードをループして各アイテムのWebサービスを呼び出すのではなく、アップロード全体を1つのWebサービス呼び出しにまとめることができます。
データベースをサーバーに送信するのではなく、データのみをエクスポートしてデータベースに送信できるメカニズムが必要です。
データをCSVファイルまたはその他の形式にエクスポートしてから、サーバーに送信して、サーバーがそのCSVを簡単に読み取り、データベースに挿入できるようにすることができます。
また、SQLiteデータベースを読み取ってから、XML、JSONなどの構造化データを作成することもできます。次に、Webサービスに接続して、構造化ファイルをサーバーに送信できます。
データが多く、サーバーに送信する場合は、CSVが最適なオプションです。