我目前正在为我的项目开发一个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