0

私の Android アプリケーションには、4 つのテーブル (laboratory、doctors、income_messages、outcome_messages) を持つ SQLite データベースがあります。このテーブルの情報は、情報を取得したjava.lang.Thread後、データベースに挿入する次のスレッドを使用してサーバーから取得されます (AsyncTaskこれには時間がかかります)。また、他のスレッドがまだデータを挿入しているときに、1 つのスレッドがデータベースにアクセスできるという問題があります。 1 つのスレッドのためだけにデータベースをロックして、他のスレッドを待機させたくありません (この場合、多くの時間がかかります)。

質問: 何らかの方法で、異なるスレッドがデータを異なるテーブルに同時に挿入できるようにすることはできますか?

4

2 に答える 2

1

コンテンツ プロバイダーを使用します。それは問題を解決します!Content Provider は、同時テーブル プロセスを処理します。
SQliteDatabaseHelper に単一のインスタンスを使用するなどの回避策がいくつかありますが、あなたのような問題に直面したときに完全に機能することはありませんでした。
Content Provider に切り替えたところ、すべてがスムーズに進みました。

于 2013-04-17T09:43:38.383 に答える