2012年3月20日火曜日

Androidのデータベース周りでよくわからないエラーが出る

Androidのデータベース周りでよくわからないところでエラーが出ることがある。
例えばこんなの。

Caused by: java.lang.IllegalStateException: Don't have database lock! Caused by: android.database.sqlite.SQLiteDatabaseLockedException: database is locked 

こういうのが出た場合は以下をチェック
・複数のSQLiteOpenHelperクラスのインスタンスから同じデータベースへアクセスしている。(singletonモデルにするなどしよう。ちなみにSQLiteDatabaseインスタンスへのsetLockingEnableをtrueにしておけばスレッドセーフだ(デフォルトでtrue)。)
・bigenTransactionをしたままendTransactionをしてない。

0 件のコメント:

コメントを投稿