SQLException数据库已锁定

时间:2012-10-22 16:37:25

标签: android sql

我有一个应用程序应该将一些信息写入我的数据库让我们说onDestroy(例如音频播放器中的播放列表),所以我启动新的AsyncTask来执行这个功能 - 打开连接,exec很多(到1000或更多)插入和紧密的联系。 我需要从DB onCreate恢复这1000个或更多项目。

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

提前致谢!

1 个答案:

答案 0 :(得分:1)

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