2012-10-22 139 views
0

我有一個應用程序應該寫一些信息給我的數據庫讓我們說onDestroy(播放列表中的音頻播放器,例如),所以我開始新的AsyncTask執行此feauture - 開放連接,執行許多(到1000或更多)插入並關閉連接。 我需要從DB onCreate中恢復這1000個或更多項目。SQLException數據庫被鎖定

你能否給我一個提示如何確保這個操作不會同時執行以避免「數據庫被鎖定」異常?或者我可能做錯了什麼。

在此先感謝!

回答

1
  1. 閱讀SQLiteDatabase(和SQLite)的文檔。您可以在EXCLUSIVE模式下進行交易。
  2. 或者,使用ContentProvider,使用applyBatch,ContentProviderOperation和「yield」來防止鎖定。