2012-10-22 94 views
0

我有一个应用程序应该写一些信息给我的数据库让我们说onDestroy(播放列表中的音频播放器,例如),所以我开始新的AsyncTask执行此feauture - 开放连接,执行许多(到1000或更多)插入并关闭连接。 我需要从DB onCreate中恢复这1000个或更多项目。SQLException数据库被锁定

你能否给我一个提示如何确保这个操作不会同时执行以避免“数据库被锁定”异常?或者我可能做错了什么。

在此先感谢!

回答

1
  1. 阅读SQLiteDatabase(和SQLite)的文档。您可以在EXCLUSIVE模式下进行交易。
  2. 或者,使用ContentProvider,使用applyBatch,ContentProviderOperation和“yield”来防止锁定。