首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android数据库助手类中的SqlLiteDatabaseLockedException

android数据库助手类中的SqlLiteDatabaseLockedException
EN

Stack Overflow用户
提问于 2013-08-07 09:33:07
回答 1查看 104关注 0票数 0

我有一个帮助类,它管理整个应用程序中的所有数据库查询。它是一个单例类和一个getInstance()方法。

代码语言:javascript
复制
public static MasterDatabase getInstance() {
    if (_masterDb == null) {
        _masterDb = new MasterDatabase();
    }
    return _masterDb;

}

虽然我已经注意到只创建了这个类的一个实例,但是我得到了数据库被锁定的消息的SqlLiteDatabaseLockedException。我想实现双检查锁定技术,但它似乎可以在多核环境中刹车。那么,什么是最好的实现,以确保此异常不会重复在我的应用程序。

注意事项:其他事务方法(插入、删除、..)不是同步的。

Question2 :使事务方法同步会有好处吗?

EN

回答 1

Stack Overflow用户

发布于 2013-08-07 10:28:57

如果您使用的是android-s DatabaseHelper,数据库可能已经被DatabaseHelper打开了。

尝尝这个

代码语言:javascript
复制
private static DatabaseHelper _myDatabaseHelper = null;

public static MasterDatabase getInstance() {
    if (_myDatabaseHelper == null) {
        _myDatabaseHelper = new MyDatabaseHelper();
    }
    return _myDatabaseHelper..getWritableDatabase();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18099796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档