我目前正在爲我的項目開發一個android應用程序。同時訪問多個線程的SQLitedatabase
我的項目旨在使用Handler post delayed
在背景上運行多個倒數計時器(不超過50次)。 在每一秒鐘,我必須查詢我的表,以更新某些特定的列。
我的查詢包裝爲try catch
,我正在關閉數據庫finally
。 這種方法適用於單線程,但一旦它成爲多個線程,它會給我一個類似the database is already close but morethan one thread is trying to access it
的錯誤。
所以我想出了一個主意,除非整個應用程序關閉,否則不要關閉數據庫。
所以我的問題是,我應該做我在想什麼?或者有更好的方法呢?
您正在關閉數據庫。仔細檢查您複製粘貼的代碼 – Chisko
試試這種方法:http://stackoverflow.com/questions/35358186/best-way-to-access-database-in-multi-threaded-application-android –
@Chisko - 我'對不起,如果我讓你對我的問題有所誤解,請清楚地閱讀這個問題。我說'我最後關閉了數據庫'(我知道我在做什麼以及我在哪裏關閉數據庫,並且我也知道錯誤/問題在哪裏),並且由於它正在通過多個線程訪問,它會給出一個錯誤。請閱讀我寫的最後一行。 – Polar