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 件のコメント:
コメントを投稿