でダウンローダーの作成に取り組んでいますAndroid。データベースを複数のアクティビティで共有できるようにするために、WritableDatabase.
一部のコンテンツをダウンロードする各スレッドは、ダウンロードされたデータの合計量をデータベースに書き込む必要があります。synchronized複数のスレッドがこのインスタンスにアクセスするため、データベースに値を入力する際にコード ブロック を使用する必要がありますか?
でダウンローダーの作成に取り組んでいますAndroid。データベースを複数のアクティビティで共有できるようにするために、WritableDatabase.
一部のコンテンツをダウンロードする各スレッドは、ダウンロードされたデータの合計量をデータベースに書き込む必要があります。synchronized複数のスレッドがこのインスタンスにアクセスするため、データベースに値を入力する際にコード ブロック を使用する必要がありますか?
複数のスレッドから安全に使用できSQLiteDatabaseますが、デフォルトでは各操作が他の操作をブロックします。同時更新を有効にするには、 を使用しますenableWriteAheadLogging。http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#enableWriteAheadLogging()で詳細を読む
複数のスレッドがデータベースから読み取っている場合は問題ありませんが、書き込みを試みている場合は、同期ブロックを使用してスレッドセーフな操作を許可する必要があります。