我围绕这个主题旋转了很长一段时间。我没有太多使用Android的经验,而且我尝试使用最好的方法来编写所有内容。
我成功创建了一个内容提供程序来包装我的SQLite和一些Loaders来查询数据。它工作正常,但我在决定如何在主线程之外插入,删除和更新时遇到一些问题。
我实现了各种AsyncTasks来管理这些操作,结果看起来不错。
但这是正确的方法,还是我在这里遗漏了什么?
有没有我从未听说过的特殊课程或模式?
如果有人能指出我某个方向,那就太好了。 TKS
答案 0 :(得分:3)
您可以使用AsyncQueryHandler
。几乎就是你使用AsyncTask
完成的事情,但所有繁重的工作都已经处理好了。
假设您的内容提供商一切都很好,基本上您真正需要做的就是(更新):
AsyncQueryHandler handler = new AsyncQueryHandler(ctx.getContentResolver());
final ContentValues cv = new ContentValues();
values.put(column, data);
handler.startUpdate(-1, null, uriOfDatabase, cv, selection, selectionArgs);
请参阅文档here