「オンラインモード」でアプリケーションを作成しています。つまり、データがダウンロードされ、解析され、必要に応じてSQLiteデータベースに挿入されます。これはすべてサービスによって実行されます。このアプリは、サービスにデータの更新を要求するいくつかのアクティビティで構成されています(アクティビティに応じて異なるデータ)。
ユーザーが(サービスが終了するのを待たずに)アクティビティをナビゲートすると、SQLiteExceptions(メッセージ:データベースがロックされています)を簡単に取得できます。
同期ブロックを使用することを考えましたが、サービスの更新が完了するまで、ユーザーは新しいアクティビティ(ロードするにはデータベースアクセスが必要)をロードするまで待機する必要があります。行き止まりのようです。
別のオプションは、各アクティビティのonStopメソッドで更新を停止することです。もちろん、更新は中断されますが、それは大きな問題ではありません。これの問題は、私がそれにアプローチする方法がわからないということです。
私の質問は、これをどのように処理できるか/すべきかということです。