从内容提供商处使用插入,删除和更新的最佳方法是什么?

时间:2015-06-05 02:31:10

标签: android android-asynctask android-contentprovider crud loader

我围绕这个主题旋转了很长一段时间。我没有太多使用Android的经验,而且我尝试使用最好的方法来编写所有内容。

我成功创建了一个内容提供程序来包装我的SQLite和一些Loaders来查询数据。它工作正常,但我在决定如何在主线程之外插入,删除和更新时遇到一些问题。

我实现了各种AsyncTasks来管理这些操作,结果看起来不错。

但这是正确的方法,还是我在这里遗漏了什么?

有没有我从未听说过的特殊课程或模式?

如果有人能指出我某个方向,那就太好了。 TKS

1 个答案:

答案 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