我有一個SQLite數據庫在android中的活動正在運行時從一個線程訪問,並在活動的onPause()創建一個新的線程來保存一切到數據庫一個不同的線程來避免超時問題。但是,當我嘗試這樣做時,我要麼獲取數據庫被鎖定的錯誤。我怎樣才能解決這個問題?由於我需要從onPause()中的一個單獨線程訪問數據庫,我是否可以刪除以前的訪問權限,因爲我不會再使用它?Android從多個線程訪問SQLite數據庫
1
A
回答
0
當SQLite數據庫已經鎖定它時,您無法訪問它。
爲了避免這種情況,Android爲您提供了ContentProviders來處理這類事情。
你應該實現你自己的ContentProvider來做這種事情。
也就是說,數據庫永遠不能被認爲是線程安全的,除非你自己管理線程。避免像這樣使用數據庫。相反,當你的當前事務完成時,緩存數據(也許在堆棧上)並用回調請求訪問數據庫。
0
據我所知SQLite
不支持併發訪問,所以你必須有一個專用的線程來提供訪問,或者你必須獲得一個鎖到SQLite
對象實例。
相關問題
- 1. 從多個線程訪問的SQLite數據庫
- 2. Android SQlite多線程訪問
- 3. Android - SQLite數據庫訪問
- 4. 從多個進程訪問SQLite數據庫和SQLITE_BUSY
- 5. 從多線程sqlite訪問閱讀
- 6. Android線程訪問數據庫類
- 7. 從sqlite數據庫訪問數據
- 8. 從sqlite數據庫訪問數據?
- 9. 多線程數據庫訪問
- 10. 多線程數據庫讀訪問
- 11. 多線程數據庫訪問(.NET)
- 12. Java多線程數據庫訪問
- 13. Android中的附加sqlite數據庫和多線程問題
- 14. Android:在SQLite數據庫上寫入多個線程
- 15. Android的全球訪問SQLite數據庫
- 16. Android阻止訪問SQLite數據庫
- 17. Android NullPointerException當訪問SQLite數據庫
- 18. 在PhoneGap中訪問Android SQLite數據庫
- 19. Android的SQLite數據庫訪問
- 20. 多個應用程序可以訪問SQLite數據庫嗎?
- 21. 數據庫鎖Sqlite多線程
- 22. sqlite內存數據庫和多線程
- 23. 從2個應用程序訪問相同的SQLite數據庫
- 24. 從片段訪問SQLite數據庫
- 25. 從命令行訪問SQLite數據庫
- 26. SQLite數據庫的遠程訪問
- 27. 遠程訪問sqlite或mysql數據庫
- 28. Android/Java:從多個活動訪問相同的SQLite數據庫對象
- 29. SQLite數據庫訪問Xamarin.form
- 30. 訪問SQLite數據庫