我有一个活动,在onCreate函数中我创建了一个Thread,它从XML文件读取并填充数据库并填充成员dataStructures。
我创建了同步方法来执行DB填充和DataStructure填充。
在这里使用同步方法是否正确?或者我应该使用同步块吗?
如何处理或注意以免数据库损坏?
如何确保即使在活动重新创建过程中也只存在一个DataBaseHelper实例?
答案 0 :(得分:0)
如果您想做我认为您想做的事情,我建议您执行以下操作:
创建一个处理所有db方法的所有方法的线程(HandlerThread,名为DbAsyncThread或其他)。
方法应使用synchronized块。我在有公共静态方法时使用的同步方法。它总是取决于你想要达到的目标。
您可以通过异常处理的db状态不正确。如果有异常,则将其抛出或传递给ui,以便通知用户或您。
使用回调。如果有问题通过回调通知问题。如果没有涉及上下文,那么应该没有任何问题。