2016-04-14 6 views
0

私はCSVファイルをダウンロードし、CSVのデータをDBテーブルに取り込むアプリケーションを開発しています。CSVファイルからAndroidデータベースを更新する

問題は、CSVファイルが1時間ごとに変更され、私のアプリは変更に応じてDBを更新する必要があるということです。

変更内容がわからない - 行が削除/追加されたか、レコードが変更された。

この場合のベストプラクティスは何ですか?新しいCSVがダウンロードされると、テーブルを削除して再度作成する必要がありますか?既存の値と新しい値を比較して必要な変更を加える方が良いでしょうか?

+0

よくお試しください。なぜあなたはまだいないのですか? – greenapps

答えて

0

私はあなたの問題は、あなたのテーブルにupdateTime列を入れて、あなたはCSV毎回からデータをインポートするとき、あなただけでアップデートを実行した場合に解決することができると思います。> 0 rowsEffected場合

    int rowsEffected = database.update(...); 

、あなたが実行インサート。挿入または更新するたびに、更新されたdatetimeをupdateTime列とsharedpreferenceに入れる必要があります。次に、csvファイルからデータを取得したら、datetimeをsharedpreferenceからチェックし、updateTime列のデータタイムでマークされていないすべての列を削除します。以前のcsvには存在しないため、挿入と更新。落として再作成するのは、削除と再作成がクリーンスタートに似ているからですが、ここではデータを操作するだけです。

関連する問題