私のアプリケーションでは、xml リーダーを使用して Web サイトからデータをダウンロードしています。その後、それらを使用して sqlite データベースを構築します。すべて正常に動作しますが、ダウンロード プロセスで何かが発生し (接続が中断され)、データベースが完全でなくなるのではないかと心配しています。
ダウンロードのために何をする必要があるかについて、条件付きのリストのようなものを持っている人はいsave
ますか? (例: ダウンロードを開始する前に接続を確認してください)
私のアプリケーションでは、xml リーダーを使用して Web サイトからデータをダウンロードしています。その後、それらを使用して sqlite データベースを構築します。すべて正常に動作しますが、ダウンロード プロセスで何かが発生し (接続が中断され)、データベースが完全でなくなるのではないかと心配しています。
ダウンロードのために何をする必要があるかについて、条件付きのリストのようなものを持っている人はいsave
ますか? (例: ダウンロードを開始する前に接続を確認してください)
XMLを解析してDBに挿入するときは、次のコードを実行します。
db.beginTransaction();
try {
// here you parse and insert onto the DB.
// if any exception is reached (the XML reader connection was dropped or whatever)
// it will catch the exception and end the transaction without making it successful
// and SQLite will rollback all the actions you've done here.
db.setTransactionSuccessful();
} catch(Exception e){
Log.e("MyTag", "Transaction fail. " +
e.getClass().getSimpleName() + " - " +
e.getMessage());
}finally {
db.endTransaction();
}
すべてのデータベースに入力した後、変数を設定できます。
そのデータベースにアクセスするときにその変数をチェックして、その変数が設定されているかどうかを確認しますか?
設定されていない場合は、再度ダウンロードを依頼してくださいData is not completed download Please download again.
また
接続が中断されているときに自分自身を示唆しているように、中断する前にその変数が設定されているかどうかを確認してください。それ以外の場合は、ダウンロードされたすべてのデータを意味します。