我围绕这个主题思考了很长一段时间。我在 Android 方面没有太多经验,我正在尝试使用我能做到的最佳方法对所有内容进行编码。
我成功地创建了一个 Content Provider 来包装我的 SQLite 和一些加载器来查询数据。它工作正常,但我在决定如何在主线程之外插入、删除和更新时遇到了一些问题。
我实现了各种 AsyncTasks 来管理这些操作,结果看起来不错。
但这是正确的方法还是我遗漏了什么?
有没有我从未听说过的特殊类或模式?
如果有人能指出我的方向,那就太好了。 谢谢
最佳答案
您可以使用 AsyncQueryHandler
。与您使用 AsyncTask
所做的几乎完全一样,但所有繁重的工作都已经处理完毕。
假设您的 Content Provider 一切正常,基本上您真正需要做的就是(更新):
AsyncQueryHandler handler = new AsyncQueryHandler(ctx.getContentResolver());
final ContentValues cv = new ContentValues();
values.put(column, data);
handler.startUpdate(-1, null, uriOfDatabase, cv, selection, selectionArgs);
参见文档 here
关于android - 使用 Content Provider 的插入、删除和更新的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30657438/