Num*_*ife 5 sqlite android android-service android-activity android-sqlite
我想检查SQLite数据库是否已打开,如果是,我想在服务类中访问该数据库.
我担心,并且已经看到,对数据库的多次打开调用发生冲突,并抛出异常.因为我做我的两个活动和服务类中查询数据库,我试图实现Commonsware在这里推荐的解决方案:当收于Android数据库连接?每次操作完成后或应用程序退出后.但是,如果Activity可能需要,我不想关闭然后在Service类中打开数据库.从这个答案为什么使用SQLiteOpenHelper而不是SQLiteDatabase?,看起来实现一个SQLiteOpenHelper来解决多次调用的问题是有意义的.
非常感谢您的帮助!!
这个人凯文是一个传奇:http://touchlabblog.tumblr.com/post/24474750219/single-sqlite-connection.非常感谢.
在那个链接上,他分享了他荒谬简单的解决方案:
public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
private static DatabaseHelper instance;
public static synchronized DatabaseHelper getHelper(Context context)
{
if (instance == null)
instance = new DatabaseHelper(context);
return instance;
}
//Other stuff...
}
Run Code Online (Sandbox Code Playgroud)
然后在我的SQLite类中,我将代码更改为如下所示:
public BlacklistWordDataSource(Context context) {
dbHelper = MySQLiteHelper.getHelper(context);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10989 次 |
| 最近记录: |