0

現在のアクティビティからデータを取得していますが、バックグラウンド サービスから挿入しています。挿入とフェッチの両方を同時に実行しているときにクラッシュします。この問題を解決するには?問題は、小さなパケットでサービスを介して呼び出し、テーブル情報を更新することにより、大量のデータがデータベースに格納されていることです。同時に、ユーザーが私の目に見える活動をナビゲートし、テーブルから日付を取得すると、エラー Database is lock Exception が発生します。したがって、テーブルからデータを取得し、同じテーブルに挿入したいだけです。解決策を教えてください。

4

2 に答える 2

2

ContentProviderあなたの問題を解決するかもしれません。

参照 : Android のスレッド化とデータベースのロック

上記の質問の回答のコメントを確認してください。

于 2013-06-20T04:59:32.153 に答える
1

これは、2 つのスレッド (1 つはメイン スレッド、もう 1 つはバックグラウンド スレッド) から同時に同じデータを取得しようとしているために発生している可能性があります。そのような衝突がないことを確認する必要があります。この衝突を回避するには、ロックを使用する必要があります。コードを共有できれば、正確な問題を見つけることができます。

于 2013-06-20T06:49:16.047 に答える